對於用存儲過程來分離資料庫,如果發現無法終止用戶鏈接,可以使用ALTER DATABASE命令,並利用一個能夠中斷已存在鏈接的終止選項來把資料庫設置為SINGLE_USER模式,設置為SIGLE_USER代碼如下:
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
下面是分離資料庫的CMD命令
EXEC sp_detach_db DatabaseName
一旦一個資料庫分離成功,從SQL Server角度來看和刪除這個資料庫沒有什麼區別。
2. 如何在查詢分析器裡面寫SQL語句來附加資料庫
先把你的資料庫文件放到Data文件夾中,然後使用一下代碼附加
參數
[@dbname =] 'dbname'
要附加到伺服器的資料庫的名稱。該名稱必須是唯一的。dbname 的數據類型為 sysname,默認值為 NULL。
[@filename1 =] 'filename_n'
資料庫文件的物理名稱,包括路徑。filename_n 的數據類型為 nvarchar(260),默認值為 NULL
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'
EXEC sp_attach_db @dbname = N'Ty20051029101451aaa',
@filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf',
@filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf'
3. sql server 2008 r2 英文版如何分離和附加資料庫
<1>
--分離資料庫
EXEC sp_detach_db 資料庫名;
<2>
右擊你建的資料庫,選tasks---->deach
分離
4. C#程序怎麼跟SQL Server資料庫分離和附加
分離資料庫是,在sql server management studio 2005中,右鍵點擊你想分離的資料庫,「任務」-->「分離」出現對話框後勾選「刪除連接」後確定就能成功分離了;
附加資料庫:sql server management studio 2005 ,右鍵點擊「資料庫」,「附加」,選中你的資料庫文件「.mdf」文件,確定就能添加上。
在visual studio 2005中,在「工具」中 選擇「連接資料庫」,根據向導可連接到資料庫。
5. SQL SERVER如何分離和附加資料庫
工具/材料
SQL SERVER 2014
- 01
首先我們打開SQL SERVER的管理工具,如下圖所示,右鍵要分離的資料庫,選擇任務下面的分離選項
- 02
這時SQL SERVER會彈出分離界面,我們勾選下圖中的兩個復選框,這是為了將使用當前資料庫的連接刪除掉
- 03
分離完了以後,回到資料庫管理的列表界面,你會發現剛才分離的資料庫已經沒有了
- 04
如果想把分離出的資料庫文件重新附加回資料庫,則需要右鍵資料庫,選擇附加選項,如下圖所示
- 05
在彈出的附加界面中,我們點擊添加按鈕,如下圖所示
- 06
然後選擇你分離出來的資料庫文件,注意一定選擇的資料庫的主文件,如下圖所示
- 07
選擇好資料庫文件以後,該資料庫的所以數據文件和日誌文件都載入進來了,如下圖所示
- 08
最後,你在刷新一下資料庫列表,你就會在列表中重新看到分離出來的資料庫了,如下圖所示
6. 通過SQL語句使用什麼命令創建資料庫
CREATE DATABASE 為SQl語句,用於創建資料庫。
語法
CREATE DATABASEdatabase_name
[ ON
[ < filespec > [,...n] ]
[,< filegroup > [,...n] ]
]
[ LOG ON { < filespec > [,...n] } ]
[ COLLATEcollation_name]
[ FOR LOAD | FOR ATTACH ]
< filespec > ::=
[ PRIMARY ]
([ NAME=logical_file_name,]
FILENAME='os_file_name'
[,SIZE=size]
[,MAXSIZE={max_size| UNLIMITED } ]
[,FILEGROWTH=growth_increment])[,...n]
< filegroup > ::=
FILEGROUPfilegroup_name< filespec > [,...n]
參數
database_name
新資料庫的名稱。資料庫名稱在伺服器中必須唯一,並且符合標識符的規則。database_name最多可以包含 128 個字元,除非沒有為日誌指定邏輯名。如果沒有指定日誌文件的邏輯名,則 Microsoft® SQL Server™ 會通過向database_name追加後綴來生成邏輯名。該操作要求database_name在 123 個字元之內,以便生成的日誌文件邏輯名少於 128 個字元。
ON
指定顯式定義用來存儲資料庫數據部分的磁碟文件(數據文件)。該關鍵字後跟以逗號分隔的 <filespec> 項列表,<filespec> 項用以定義主文件組的數據文件。主文件組的文件列表後可跟以逗號分隔的 <filegroup> 項列表(可選),<filegroup> 項用以定義用戶文件組及其文件。
n
佔位符,表示可以為新資料庫指定多個文件。
LOG ON
指定顯式定義用來存儲資料庫日誌的磁碟文件(日誌文件)。該關鍵字後跟以逗號分隔的 <filespec> 項列表,<filespec> 項用以定義日誌文件。如果沒有指定 LOG ON,將自動創建一個日誌文件,該文件使用系統生成的名稱,大小為資料庫中所有數據文件總大小的 25%。
FOR LOAD
支持該子句是為了與早期版本的 Microsoft SQL Server 兼容。資料庫在打開dbo use only資料庫選項的情況下創建,並且將其狀態設置為正在裝載。SQL Server 7.0 版中不需要該子句,因為 RESTORE 語句可以作為還原操作的一部分重新創建資料庫。
FOR ATTACH
指定從現有的一組操作系統文件中附加資料庫。必須有指定第一個主文件的 <filespec> 條目。至於其它 <filespec> 條目,只需要與第一次創建資料庫或上一次附加資料庫時路徑不同的文件的那些條目。必須為這些文件指定 <filespec> 條目。
附加的資料庫必須使用與 SQL Server 相同的代碼頁和排序次序創建。應使用sp_attach_db系統存儲過程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必須指定 16 個以上的 <filespec> 項目時,才需要使用 CREATE DATABASE FOR ATTACH。
如果將資料庫附加到的伺服器不是該資料庫從中分離的伺服器,並且啟用了分離的資料庫以進行復制,則應該運行sp_removedbreplication從資料庫刪除復制。
collation_name
指定資料庫的默認排序規則。排序規則名稱既可以是 Windows 排序規則名稱,也可以是 SQL 排序規則名稱。如果沒有指定排序規則,則將 SQL Server 實例的默認排序規則指派為資料庫的排序規則。
有關 Windows 和 SQL 排序規則名稱的更多信息,請參見COLLATE。
PRIMARY
指定關聯的 <filespec> 列表定義主文件。主文件組包含所有資料庫系統表。還包含所有未指派給用戶文件組的對象。主文件組的第一個 <filespec> 條目成為主文件,該文件包含資料庫的邏輯起點及其系統表。一個資料庫只能有一個主文件。如果沒有指定 PRIMARY,那麼 CREATE DATABASE 語句中列出的第一個文件將成為主文件。
NAME
為由 <filespec> 定義的文件指定邏輯名稱。如果指定了 FOR ATTACH,則不需要指定 NAME 參數。
logical_file_name
用來在創建資料庫後執行的 Transact-SQL 語句中引用文件的名稱。logical_file_name在資料庫中必須唯一,並且符合標識符的規則。該名稱可以是字元或 Unicode 常量,也可以是常規標識符或定界標識符。
FILENAME
為 <filespec> 定義的文件指定操作系統文件名。
'os_file_name'
操作系統創建 <filespec> 定義的物理文件時使用的路徑名和文件名。os_file_name中的路徑必須指定 SQL Server 實例上的目錄。os_file_name不能指定壓縮文件系統中的目錄。
如果文件在原始分區上創建,則os_file_name必須只指定現有原始分區的驅動器字母。每個原始分區上只能創建一個文件。原始分區上的文件不會自動增長;因此,os_file_name指定原始分區時,不需要指定 MAXSIZE 和 FILEGROWTH 參數。
SIZE
指定 <filespec> 中定義的文件的大小。如果主文件的 <filespec> 中沒有提供 SIZE 參數,那麼 SQL Server 將使用model資料庫中的主文件大小。如果次要文件或日誌文件的 <filespec> 中沒有指定 SIZE 參數,則 SQL Server 將使文件大小為 1 MB。
size
<filespec> 中定義的文件的初始大小。可以使用千位元組(KB)、兆位元組(MB)、千兆位元組 (GB) 或兆兆位元組 (TB) 後綴。默認值為 MB。指定一個整數,不要包含小數位。size的最小值為 512 KB。如果沒有指定size,則默認值為 1 MB。為主文件指定的大小至少應與model資料庫的主文件大小相同。
MAXSIZE
指定 <filespec> 中定義的文件可以增長到的最大大小。
max_size
<filespec> 中定義的文件可以增長到的最大大小。可以使用千位元組(KB)、兆位元組(MB)、千兆位元組 (GB) 或兆兆位元組 (TB) 後綴。默認值為 MB。指定一個整數,不要包含小數位。如果沒有指定max_size,那麼文件將增長到磁碟變滿為止
說明在磁碟即將變滿時,Microsoft Windows NT® S/B 系統日誌會警告 SQL Server系統管理員。
UNLIMITED
指定 <filespec> 中定義的文件將增長到磁碟變滿為止。
FILEGROWTH
指定 <filespec> 中定義的文件的增長增量。文件的 FILEGROWTH 設置不能超過 MAXSIZE 設置。
growth_increment
每次需要新的空間時為文件添加的空間大小。指定一個整數,不要包含小數位。0 值表示不增長。該值可以 MB、KB、GB、TB 或百分比 (%) 為單位指定。如果未在數量後面指定 MB、KB 或 %,則默認值為 MB。如果指定 %,則增量大小為發生增長時文件大小的指定百分比。
如果沒有指定 FILEGROWTH,則默認值為 10%,最小值為 64 KB。指定的大小舍入為最接近的 64 KB 的倍數。
(6)分離與附加資料庫的SQL語句擴展閱讀
組成
在正式學習SQL語言之前,首先讓我們對SQL語言有一個基本認識,介紹一下SQL語言的組成:
1、一個SQL資料庫是表(Table)的集合,它由一個或多個SQL模式定義。
2、一個SQL表由行集構成,一行是列的序列(集合),每列與行對應一個數據項。
3、一個表或者是一個基本表或者是一個視圖。基本表是實際存儲在資料庫的表,而視圖是由若干基本表或其他視圖構成的表的定義。
4、一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應。
5、用戶可以用SQL語句對視圖和基本表進行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區別,都是關系(表格)。
6、SQL用戶可以是應用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。SQL用戶也能作為獨立的用戶介面,供交互環境下的終端用戶使用。
參考資料來源:網路-SQL資料庫
參考資料來源:網路-Create Database
7. 在sql server 2005中,附加和分離資料庫,用sql語句怎麼寫
下面的例子一看就知道了:
eg:
sp_detach_db 'accpEconsole' ---分離accpEconsole資料庫
sp_attach_db accpEconsole,'C:\accpEconsole.mdf','C:\accpEconsole_log.LDF' \\附加資料庫
backup database master to disk='C:\bea\master'\\備份
restore database accpEconsole from disk='C:\bea\master' \\恢復備份資料庫
說明:
在附加資料庫時候 後面的兩個參數一定要是絕對路徑!否則報錯!!!!!!!!!