簡體   English   中英

如何復制SQL Server數據庫並連接到它?

[英]How do I make a copy of an SQL Server database and connect to it?

我正在使用vb.NET 2013和SQL Server 2008R2。

我有這種情況要解決:

我有一個數據庫“ DB1”。 我想在同一SQL服務器上用另一個名稱“ DB2”創建此數據庫的副本,然后使該數據庫准備連接。

如何通過Vb.NET中的代碼執行此操作?

查看此技術網鏈接以使用新文件名進行還原。

http://technet.microsoft.com/zh-cn/library/ms190447(v=sql.105).aspx

  1. 備份數據庫一(DB1)。

  2. 驗證備份是否有效。

  3. 獲取正確的邏輯和物理文件名

  4. 使用move命令還原以創建兩個數據庫(DB2)。

  5. 將所有權更改為SA。 默認為創建數據庫的SQL登錄名

這是我在筆記本電腦上測試過的腳本。 備份的好處是無需停機。 如果您決定下線,復制數據文件並創建要附加的數據庫,則會創建停機時間。

-- Sample database
USE AdventureWorks2012;
GO

-- 1 - Make a backup
BACKUP DATABASE AdventureWorks2012
TO DISK = 'C:\mssql\backup\AdventureWorks2012.Bak'
   WITH FORMAT,
      MEDIANAME = 'SQLServerBackups',
      NAME = 'Full Backup of AdventureWorks2012';
GO


-- Use master
USE master
GO

-- 2 - Is the backup valid
RESTORE VERIFYONLY
FROM DISK = 'C:\mssql\backup\AdventureWorks2012.Bak';
GO

-- 3 - Check the logical / physical file names
RESTORE FILELISTONLY
FROM DISK = 'C:\mssql\backup\AdventureWorks2012.Bak';
GO

-- 4 - Restore the files change the location and name
RESTORE DATABASE Adv2012
   FROM DISK = 'C:\mssql\backup\AdventureWorks2012.Bak'
   WITH RECOVERY,
   MOVE 'AdventureWorks2012_Data' TO 'c:\mssql\data\MyAdvWorks_Data.mdf', 
   MOVE 'AdventureWorks2012_Log' TO 'c:\mssql\log\MyAdvWorks_Data.ldf';
GO

-- 5 - Switch owner to system admin
ALTER AUTHORIZATION ON DATABASE::Adv2012 TO SA;
GO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM