首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

CMD 命令列操作 SQL Server 2005 完整指令彙總

     編輯:關於SqlServer

連線指令

sqlcmd -S <伺服器位址> -d <資料庫名稱> -U <使用者> -P <密碼>

基礎管理指令

-- 0. 建立資料庫
CREATE DATABASE DB001;

-- 1. 建立登入帳號
CREATE LOGIN USER1 WITH PASSWORD = 'USER_PW';

-- 2. 變更資料庫擁有者
USE DB001;
EXEC sp_changedbowner 'USER1';
GO

-- 3. 啟用 READ_COMMITTED_SNAPSHOT
ALTER DATABASE [DB001] SET READ_COMMITTED_SNAPSHOT ON;
GO

-- 4. 修改定序
ALTER DATABASE DB001 COLLATE SQL_Latin1_General_CP437_CS_AS;
GO

-- 5. 列出所有資料庫
SELECT name FROM master..sysdatabases;

-- 6. 列出所有使用者資料表
SELECT name FROM sysobjects WHERE xtype = 'U';
-- xtype='S' 為系統表

-- 7. 列出指定表欄位
SELECT name FROM syscolumns WHERE id = OBJECT_ID('TableName');

-- 8. 搜尋相關物件(View/SP/Function)
SELECT a.* FROM sysobjects a, syscomments b 
WHERE a.id = b.id AND b.text LIKE '%TableName%';

-- 9. 查詢欄位與資料型別
SELECT column_name, data_type 
FROM information_schema.columns 
WHERE table_name = N'TableName';

-- 10. 取得資料/記錄檔路徑
SELECT LTRIM(RTRIM(filename)) FROM dbname..sysfiles WHERE CHARINDEX('MDF', filename) > 0;
SELECT LTRIM(RTRIM(filename)) FROM dbname..sysfiles WHERE CHARINDEX('LDF', filename) > 0;

備份與還原指令大全

完整備份

BACKUP DATABASE NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Full_20070908.bak';

差異備份

BACKUP DATABASE NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Diff_20070908.bak'
WITH DIFFERENTIAL;

交易記錄備份

-- 一般(截斷記錄)
BACKUP LOG NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Log_20070908.bak';

-- 不截斷(異地備份前)
BACKUP LOG NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Log_20070908.bak'
WITH NO_TRUNCATE;

-- 截斷不備份
BACKUP LOG NorthwindCS WITH NO_LOG;
-- 或
BACKUP LOG NorthwindCS WITH TRUNCATE_ONLY;

檔案/檔案組備份

-- 檔案備份
EXEC sp_helpdb NorthwindCS;
BACKUP DATABASE NorthwindCS
FILE = 'NorthwindCS'
TO DISK = 'G:\Backup\NorthwindCS_File_20070908.bak';

-- 檔案組備份
BACKUP DATABASE NorthwindCS
FILEGROUP = 'Primary'
TO DISK = 'G:\Backup\NorthwindCS_FileGroup_20070908.bak'
WITH INIT;

進階備份策略

-- 分割備份(多目標,還原需全數)
BACKUP DATABASE NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Full_1.bak',
   DISK = 'G:\Backup\NorthwindCS_Full_2.bak';

-- 鏡像備份(每份相同,提高可靠度)
BACKUP DATABASE NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Mirror_1.bak'
MIRROR TO DISK = 'G:\Backup\NorthwindCS_Mirror_2.bak'
WITH FORMAT;

-- 鏡像到本地與遠端
BACKUP DATABASE NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Mirror_1.bak'
MIRROR TO DISK = '\\192.168.1.200\Backup\NorthwindCS_Mirror_2.bak'
WITH FORMAT;

-- 每日產生唯一檔名
DECLARE @Path NVARCHAR(2000);
SET @Path = 'G:\Backup\NorthwindCS_Full_' + CONVERT(NVARCHAR, GETDATE(), 112) + '.bak';
BACKUP DATABASE NorthwindCS TO DISK = @Path;

還原與驗證

-- 從 NORECOVERY/STANDBY 復原
RESTORE DATABASE NorthwindCS_Bak WITH RECOVERY;

-- 檢視備份組
RESTORE HEADERONLY FROM DISK = 'G:\Backup\NorthwindCS_Full_20070908.bak';

-- 檢視檔案清單
RESTORE FILELISTONLY FROM DISK = 'G:\Backup\NorthwindCS_Full_20070908_2.bak' WITH FILE = 1;

-- 檢視卷標
RESTORE LABELONLY FROM DISK = 'G:\Backup\NorthwindCS_Full_20070908_2.bak';

-- 密碼保護備份
BACKUP DATABASE NorthwindCS
TO DISK = 'G:\Backup\NorthwindCS_Full_20070908.bak'
WITH PASSWORD = '123', INIT;

RESTORE DATABASE NorthwindCS
FROM DISK = 'G:\Backup\NorthwindCS_Full_20070908.bak'
WITH PASSWORD = '123';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved