рд╢реБрдн рджрд┐рди рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЯреНрдпреВрдирд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд┐рд░рд░рд┐рдВрдЧ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░, рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓рд╛рдн рд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рд░реНрдлрд┐рдВрдЧ рд╢реБрд░реВ рдХреАред рдФрд░ рдореИрдВ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрджрдо-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЛрд╕реНрдЯ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдкрд░рд┐рдЪрдпрдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП 2 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛:
- рдкреНрд░рддрд┐рдХреГрддрд┐
- рдорд┐рд░рд░рд┐рдВрдЧ
рдкреНрд░рддрд┐рдХреГрддрд┐ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддреБрд░рдВрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рджрд░реНрдкрдг рдПрдХ рдзрдорд╛рдХреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЦреНрдп рдЖрдзрд╛рд░ рд░рдЦрд╛, рджрд░реНрдкрдг рдХреЛ рдореБрдЦреНрдп рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред рдЬрдм рдЙрд╕рдиреЗ рдореБрдЦреНрдп рдПрдХ рдХреЛ рдЙрдард╛рдпрд╛, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджрд░реНрдкрдг рдмрди рдЧрдпрд╛, рдЙрдирдХреЗ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред рд╕рдм рдХреБрдЫ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░реЛрдХ-рдЯреЛрдХ рдХреЗ рд╣реБрдЖред (рднрдЧрд╡рд╛рди рдЙрд╕реЗ рд▓рдВрдмреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЕрдиреБрджрд╛рди!)
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, 3 рдорд┐рд░рд░рд┐рдВрдЧ рдореЛрдб рд╣реИрдВ:
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд╕реВрд▓реА рдХреЗ рд╕рд╛рде рд╕рдВрд░рдХреНрд╖рд┐рдд
- рдореИрдиреБрдЕрд▓ рд╡рд╕реВрд▓реА рдХреЗ рд╕рд╛рде рд╕рдВрд░рдХреНрд╖рд┐рдд
- рд╕рдВрд░рдХреНрд╖рд┐рдд / рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд╣реАрдВ
рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдХ рд╕реЗ рдЕрд▓рдЧ
рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ рдХрд┐ рд╡реЗ рдорд┐рд░рд░ рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЗрдирджреЗрди рдХреА рд╕реНрд╡реАрдХреГрддрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдирдП рдФрд░ рдирдП рд▓реЗрдирджреЗрди рдХреЛ рдХрддрд╛рд░рдмрджреНрдз рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рд╕рд░реНрд╡рд░ (рдЧрд╡рд╛рд╣) рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреЗрд╡рд▓ рддрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдХреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдпрд╣ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕реВрдЪрдирд╛ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрдХреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рджрдпрд╛ рдХреА рдмрд╛рдд рдереА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдореИрдВрдиреЗ
рдореИрдиреБрдЕрд▓ рд░рд┐рдХрд╡рд░реА рдХреЗ рд╕рд╛рде рд╕рдВрд░рдХреНрд╖рд┐рдд рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрдЯ рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ рдПрдХ рдЕрдЪреНрдЫрд╛
рдЯреЗрдХрдиреЗрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ ред
рдФрд░
рдпрд╣рд╛рдБ рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ GUI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рднрд╛рдЧ 1. рд╕рд░реНрд╡рд░ рд╕рдВрдЪрд╛рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛редрд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рдорд╢реАрдиреЛрдВ рдкрд░
рдЪреМрдХрд┐рдпрд╛рдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдЦреЛрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЖрджрд┐ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдЖрдЗрдП рдирд┐рдпрдВрддреНрд░рдг рдмрд┐рдВрджреБ рдмрдирд╛рддреЗ рд╣реИрдВ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдордПрд╕ SQL тАЛтАЛрд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рдЕрдиреНрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред
1. рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ D: \ Certs рдкреИрдХ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВUSE MASTER
GO
IF NOT EXISTS(SELECT 1 FROM sys.symmetric_keys where name = '##MS_DatabaseMasterKey##')
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ' '
GO
IF NOT EXISTS (select 1 from sys.databases where [is_master_key_encrypted_by_server] = 1)
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
GO
IF NOT EXISTS (SELECT 1 FROM sys.certificates WHERE name = 'PrincipalServerCert')
CREATE CERTIFICATE PrincipalServerCert
WITH SUBJECT = 'Principal Server Certificate',
START_DATE = '08/15/2011',
EXPIRY_DATE = '08/15/2021';
GO
BACKUP CERTIFICATE PrincipalServerCert TO FILE = 'D:\Certs\PrincipalServerCert.cer'
2. рдХреЛрд░ рд╕рд░реНрд╡рд░ рдкрд░ DBMirrorEndPoint рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдмрдирд╛рдПрдВредUSE MASTER
GO
IF NOT EXISTS(SELECT * FROM sys.endpoints WHERE type = 4)
CREATE ENDPOINT DBMirrorEndPoint
STATE = STARTED AS TCP (LISTENER_PORT = 5022)
FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE PrincipalServerCert, ENCRYPTION = REQUIRED
,ROLE = ALL
)
3. рдореБрдЦреНрдп рдХреЗ рд╕рдорд╛рди рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдФрд░ рджрд░реНрдкрдг рдкрд░ рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ DBMirrorEndPoint рдмрдирд╛рдПрдВредUSE MASTER
GO
IF NOT EXISTS(SELECT 1 FROM sys.symmetric_keys where name = '##MS_DatabaseMasterKey##')
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ' '
GO
IF NOT EXISTS (select 1 from sys.databases where [is_master_key_encrypted_by_server] = 1)
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
GO
IF NOT EXISTS (SELECT 1 FROM sys.certificates WHERE name = 'MirrorServerCert')
CREATE CERTIFICATE MirrorServerCert
WITH SUBJECT = 'Mirror Server Certificate',
START_DATE = '08/15/2011',
EXPIRY_DATE = '08/15/2021';
GO
BACKUP CERTIFICATE MirrorServerCert TO FILE = 'D:\Certs\MirrorServerCert.cer'
IF NOT EXISTS(SELECT * FROM sys.endpoints WHERE type = 4)
CREATE ENDPOINT DBMirrorEndPoint
STATE=STARTED AS TCP (LISTENER_PORT = 5023)
FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE MirrorServerCert, ENCRYPTION = REQUIRED
,ROLE = ALL
)
рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдФрд░ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рд╣рдордиреЗ рдмрдирд╛рдП рд╣реИрдВред рдЕрдм рдЬрдм рд╕рд░реНрд╡рд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдкрдХреЛ рдЦрд╛рддреЗ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рд╕реЗ рдмрд╛рдВрдзрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
4. рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдПрдХ рд╕рд░реНрд╡рд░ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ рддрд╛рдХрд┐ 2 рдкреНрд░рдорд╛рдгрдкрддреНрд░ D: \ Certs рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реЛрдВред
5. рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ MirrorServerUser рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ MirrorDBCertPub рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реЗ рдмрдирд╛ рд╣реИ рдФрд░ рджрд░реНрдкрдг рд╕рд░реНрд╡рд░ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИUSE MASTER
GO
IF NOT EXISTS(SELECT 1 FROM sys.syslogins WHERE name = 'MirrorServerUser')
CREATE LOGIN MirrorServerUser WITH PASSWORD = '2'
IF NOT EXISTS(SELECT 1 FROM sys.sysusers WHERE name = 'MirrorServerUser')
CREATE USER MirrorServerUser;
IF NOT EXISTS(SELECT 1 FROM sys.certificates WHERE name = 'MirrorDBCertPub')
CREATE CERTIFICATE MirrorDBCertPub AUTHORIZATION MirrorServerUser
FROM FILE = 'D:\Certs\MirrorServerCert.cer'
GRANT CONNECT ON ENDPOINT::DBMirrorEndPoint TO MirrorServerUser
GO
6. рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ PrincipalServerUser рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВ, рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рдФрд░ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ DBCertPub рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмрд╛рдВрдзреЗрдВUSE MASTER
GO
IF NOT EXISTS(SELECT 1 FROM sys.syslogins WHERE name = 'PrincipalServerUser')
CREATE LOGIN PrincipalServerUser WITH PASSWORD = '2'
IF NOT EXISTS(SELECT 1 FROM sys.sysusers WHERE name = 'PrincipalServerUser')
CREATE USER PrincipalServerUser;
IF NOT EXISTS(SELECT 1 FROM sys.certificates WHERE name = 'PrincipalDBCertPub')
CREATE CERTIFICATE PrincipalDBCertPub AUTHORIZATION PrincipalServerUser
FROM FILE = 'D:\Certs\PrincipalServerCert.cer'
GRANT CONNECT ON ENDPOINT::DBMirrorEndPoint TO PrincipalServerUser
GO
рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ!
рднрд╛рдЧ 2. рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛редрдпрд╣рд╛рдВ рд╣рдореЗрдВ рдмреИрдХрдЕрдк рдХреЛ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЖрдзрд╛рд░ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕реЗ
рдиреЙрд░рдХреЛрд╡реЗрд░реА рдореЛрдб рдореЗрдВ рджрд░реНрдкрдг рд╕рд░реНрд╡рд░ рдкрд░
рдЪреБрдиреЗрдВ рдФрд░ рдорд┐рд░рд░рд┐рдВрдЧ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред
рдорд┐рд░рд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ
рдкреВрд░реНрдг рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЙрдбрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
1. рдмреИрдХрдЕрдк рдХрд╛рд░реНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд┐рдХрд╛рд▓реЗрдВредBACKUP DATABASE [MIRROR_TEST] TO DISK = N'D:\MIRROR_TEST.bak'
WITH FORMAT, INIT, NAME = N'MIRROR_TEST-Full Database Backup',STATS = 10
2. рдЗрд╕реЗ рджрд░реНрдкрдг рдкрд░ рдЙрдард╛рдПрдБ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд┐рд╕реНрдХ рдбреА рдкрд░ рджрд░реНрдкрдг рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)RESTORE DATABASE [MIRROR_TEST]
FROM DISK = 'D:\MIRROR_TEST.bak' WITH NORECOVERY
,MOVE N'MIRROR_TEST' TO N'D:\MSSQL_DB\MIRROR_TEST.mdf'
,MOVE N'MIRROR_TEST_log' TO N'D:\MSSQL_DB\MIRROR_TEST_log.ldf'
3. рджрд░реНрдкрдг рд╕рд░реНрд╡рд░ рдкрд░ рдорд┐рд░рд░рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░реЗрдВ:ALTER DATABASE MIRROR_TEST SET PARTNER = 'TCP://MSSQLMAINSERV:5022'
4. рдлрд┐рд░ рдореБрдЦреНрдп рдкрд░:ALTER DATABASE MIRROR_TEST SET PARTNER = 'TCP://MSSQLMIRRORSERV:5023'
рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЬреИрд╕реЗ:The mirror database, тАЬMIRROR_TESTтАЭ, has insufficient transaction log data to preserve the log backup chain of the principal database. This may happen if a log backup from the principal database has not been taken or has not been restored on the mirror database. (Microsoft SQL Server, Error: 1478)
рдпрд╛
The remote copy of database "DBmirrorTest" has not been rolled forward to a point in time that is encompassed in the local copy of the database log.
рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд▓реЙрдЧ рдХрд╛ рдмреИрдХрдЕрдк рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджрд░реНрдкрдг (NORECOVERY рдореЛрдб рдореЗрдВ) рдореЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдмреИрдХрдЕрдк:
BACKUP LOG MIRROR_TEST TO DISK = 'D:\MIRROR_TEST.trn'
рд╡рд╕реВрд▓реА:
RESTORE LOG MIRROR_TEST
FROM DISK = 'D:\MIRROR_TEST.trn' WITH NORECOVERY
рднрд╛рдЧ 3. рдЕрд╕рдлрд▓рддрд╛рдУрдВ рд╕реЗ рдЙрдмрд░рдирд╛ред рднреВрдорд┐рдХрд╛рдПрдБ рдмрджрд▓реЗрдВредрдЖрдк рд╕рд░реНрд╡рд░ рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рджрд░реНрдкрдг рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ GUI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореБрдЦреНрдп рдПрдХ рдФрд░ рджрд╛рдврд╝реА рдмрди рдЬрд╛рдП -
рдЯрд╛рд╕реНрдХ -
рдорд┐рд░рд░ -
рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
ALTER DATABASE MIRROR_TEST SET PARTNER FAILOVER
рдпрджрд┐ рджрд░реНрдкрдг рдЖрдзрд╛рд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛, рддреЛ рдореБрдЦреНрдп рдПрдХ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ (рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рджрд░реНрдкрдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмреИрдХрдЕрдк рдЖрдзрд╛рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдореБрдЦреНрдп рдПрдХ рдХреЗ рд╕рд╛рде рдкрдХрдбрд╝рддрд╛ рд╣реИред
рдпрджрд┐ рдореБрдЦреНрдп рдЖрдзрд╛рд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛, рддреЛ рдмреИрдХрдЕрдк рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдордЬрдмреВрд░ рд╡рд╕реВрд▓реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
ALTER DATABASE MIRROR_TEST SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдЪ рд╣реИ рдХрд┐ рдХреБрдЫ рдбреЗрдЯрд╛ рдЦреЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рд╣реИ (рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ)
рдЬрдм рдПрдХ рдордЬрдмреВрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджрд░реНрдкрдг рдЖрдзрд╛рд░ рдореБрдЦреНрдп рдмрди рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмрд╣рд╛рд▓реА рдХреЗ рдмрд╛рдж рдкреВрд░реНрд╡ рдореБрдЦреНрдп рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджрд░реНрдкрдг рдЖрдзрд╛рд░ рдмрди рдЬрд╛рддрд╛ рд╣реИ, рджрд░реНрдкрдг рд╕рддреНрд░ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдВрдмрд┐рдд рдЕрдиреБрдорддрд┐ред рдЖрдкрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ
ALTER DATABASE MIRROR_TEST SET PARTNER RESUME
рдмрд╕ рдЗрддрдирд╛ рд╣реА! 8- рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП)