當前位置:首頁 » 編程語言 » sql語句附加資料庫

sql語句附加資料庫

發布時間: 2022-07-19 05:24:38

『壹』 在sql server 2008怎麼附加資料庫文件

低版本的資料庫不能兼容高版本的
資料庫文件
,所以
Sql2008
創建的資料庫文件附加不上
Sql2005
.
給你一個方法:
你可以在Sql2008中,將建表語句導出,成功sql腳本,然後將表裡面的數據導出到本地access文件裡面,然後打開Sql2005,手動創建一個同名的資料庫,然後執行該sql腳本,最後將access文件導入到對應的表中即可...

『貳』 如何實現SQL的自動安裝及自動附加資料庫

打包並附加資料庫解決方案

一。打包msde
1.解壓msde2000
2.將解壓後的文件全部打包到安裝程序中
3.在wise腳步中插入執行語句。在執行程序設置中:執行程序路徑: %MAINDIR%\hello\msde\setup.exe
命令行:sapwd="sa" securitymode=SQL disablenetworkprotocols=0(腳本的位置需要自己定位)
4.這樣製作好的安裝包在執行安裝後會自動安裝msde

二。附加資料庫
1.在程序執行時判斷在C:\Program Files\Microsoft SQL Server\MSSQL\Data目錄下是否有我們要附加的資料庫文件,即db_Data.MDF和db_Log.LDF
2.如果沒有則把兩個文件復制到上述目錄中
3.復制完成後調用dos命令執行附加資料庫的語句winexec(PChar('D:\My.bat'),sw_show); My.bat文件中的內容為osql -S 57c65a1f316b491 -U sa -P sa -i "D:\active.sql"
active.sql是我們要寫的SQL腳本,用來附加資料庫,內容為Exec sp_attach_db @dbname = N'web', @fileName1=N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\web_Data.MDF', @filename2=N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\web_Log.LDF'
這就是為什麼我們要把資料庫文件放到上述目錄中的原因
4.附加資料庫完成

『叄』 如何用sql語句附加資料庫

應該是
向下兼容
的,2005創建的資料庫不能附加到2000吧
順便說一句,附加資料庫的語句應該是
create
database
資料庫名
on
name=資料庫邏輯名
filename=資料庫路徑
for
attach

『肆』 求助SQL 添加附加資料庫 9003 錯誤 如何解

--方法如下:
--1.我們使用默認方式建立一個供恢復使用的資料庫(如pos)。可以在SQL Server
Enterprise Manager裡面建立。
--2.停掉資料庫伺服器。

--3.將剛才生成的資料庫的日誌文件pos_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件pos_data.mdf。

--4.啟動資料庫伺服器。此時會看到資料庫pos的狀態為「置疑」。這時候不能對此資料庫進行任何操作。

--5.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise
Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。

use master
go
exec sp_configure 'allow updates',1
go

reconfigure with override
go
轉載,僅供參考。

『伍』 如何在查詢分析器裡面寫SQL語句來附加資料庫

呵呵,這個使用sp_attach_db
存儲過程就可以了,具體的SQL語句如下:
EXEC
sp_attach_db
@dbname
=
N'test',
@filename1
=
N'd:\test_data.mdf',
@filename2
=
N'd:\\test_log.ldf'
go
呵呵,希望能有幫助,^_^

『陸』 sql附加資料庫時錯誤

1
那你這樣
先新建一個
同名的資料庫。
2
停止
資料庫伺服器
將tt_data.mdf覆蓋新建的數據這個
資料庫文件
3

企業管理器
附加資料庫
或用樓上的語句附加
你先試一下
如果不行
如果置疑了就會很麻煩,
還有如果這個資料庫很重要的話,你給我傳過來我幫你!

『柒』 查詢分析器中使用SQL語句附加資料庫

附加數據語句為:

EXECsp_attach_db@dbname=N'DATAName',@filename1=N'D:MSSQLDATADATAName.mdf',@filename2=N'D:MSSQLDATADATAName.ldf'

其中

【DATAName】:資料庫名稱

【D:MSSQLDATADATAName.mdf】:資料庫文件真實物理路徑

【D:MSSQLDATADATAName.ldf】:資料庫日誌文件真實物理路徑

『捌』 通過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&reg; 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&reg; 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 的倍數。

(8)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

『玖』 如何使用sql語句創建資料庫

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
[ PRIMARY ] <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
FILESTREAM ( <filestream_option> [,...n ] )
| DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
| DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON}
| TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
| DB_CHAINING { OFF | ON }
| TRUSTWORTHY { OFF | ON }
}

<filestream_option> ::=
{
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
| DIRECTORY_NAME = 'directory_name'
}

To attach a database
CREATE DATABASE database_name
ON <filespec> [ ,...n ]
FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
| ATTACH_REBUILD_LOG }
[;]

<filespec> ::=
{
(
NAME = logical_file_name ,
FILENAME = { 'os_file_name' | 'filestream_path' }
[ , SIZE = size [ KB | MB | GB | TB ] ]
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
<filespec> [ ,...n ]
}

<attach_database_option> ::=
{
<service_broker_option>
| RESTRICTED_USER
| FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

<service_broker_option> ::=
{
ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}

Create a database snapshot
CREATE DATABASE database_snapshot_name
ON
(
NAME = logical_file_name,
FILENAME = 'os_file_name'
) [ ,...n ]
AS SNAPSHOT OF source_database_name
[;]

database_name

新資料庫的名稱。

資料庫名稱在 SQL Server 的實例中必須唯一,並且必須符合 標識符規則。

除非沒有為日誌文件指定邏輯名稱,否則 database_name 最多可以包含 128 個字元。

如果未指定邏輯日誌文件名稱,則 SQL Server 將通過向 database_name 追加後綴來為日誌生成 logical_file_name 和 os_file_name。

這會將 database_name 限制為 123
個字元,從而使生成的邏輯文件名稱不超過 128 個字元。

如果未指定數據文件的名稱,則 SQL Server 使用 database_name 作為 logical_file_name 和 os_file_name。

默認路徑從注冊表中獲得。

可以使用 Management Studio 中的「伺服器屬性」(「資料庫設置」頁)更改默認路徑。

更改默認路徑要求重新啟動 SQL Server。

CONTAINMENT

指定資料庫的包含狀態。

NONE = 非包含資料庫。

PARTIAL = 部分包含的資料庫。

ON

指定顯式定義用來存儲資料庫數據部分的磁碟文件(數據文件)。

當後面是以逗號分隔的、用以定義主文件組的數據文件的 <filespec> 項列表時,需要使用
ON。

主文件組的文件列表可後跟以逗號分隔的、用以定義用戶文件組及其文件的 <filegroup>
項列表(可選)。

PRIMARY

指定關聯的 <filespec> 列表定義主文件。

在主文件組的 <filespec> 項中指定的第一個文件將成為主文件。

一個資料庫只能有一個主文件。

有關詳細信息,請參閱 資料庫文件和文件組。

如果沒有指定 PRIMARY,那麼 CREATE DATABASE
語句中列出的第一個文件將成為主文件。

LOG ON

指定顯式定義用來存儲資料庫日誌的磁碟文件(日誌文件)。

LOG ON 後跟以逗號分隔的用以定義日誌文件的 <filespec> 項列表。

如果沒有指定 LOG ON,將自動創建一個日誌文件,其大小為該資料庫的所有數據文件大小總和的 25% 或 512
KB,取兩者之中的較大者。

此文件放置於默認的日誌文件位置。

有關此位置的信息,請參閱 查看或更改數據文件和日誌文件的默認位置 (SQL Server Management Studio)。

不能對資料庫快照指定 LOG ON。

COLLATE collation_name

指定資料庫的默認排序規則。

排序規則名稱既可以是 Windows 排序規則名稱,也可以是 SQL 排序規則名稱。

如果沒有指定排序規則,則將 SQL Server 實例的默認排序規則分配為資料庫的排序規則。

不能對資料庫快照指定排序規則名稱。

不能使用 FOR ATTACH 或 FOR ATTACH_REBUILD_LOG
子句指定排序規則名稱。

有關如何更改附加資料庫的排序規則的信息,請訪問此 Microsoft 網站。

有關 Windows 和 SQL 排序規則名稱的詳細信息,請參閱 COLLATE (Transact-SQL)。

注意

包含資料庫的排序方式不同於非包含資料庫。

有關詳細信息,請參閱 包含資料庫的排序規則。

WITH <選項>

僅在將 CONTAINMENT 設置為 PARTIAL 之後,才允許使用以下選項。

如果將 CONTAINMENT 設置為 NONE,將發生錯誤。

<filestream_options>

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }

指定對資料庫的非事務性 FILESTREAM 訪問的級別。

USE master;

GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B.創建指定數據和事務日誌文件的資料庫

下面的示例將創建資料庫 Sales。

因為沒有使用關鍵字 PRIMARY,第一個文件 ( Sales_
dat) 將成為主文件。

因為在 Sales_ dat 文件的 SIZE 參數中沒有指定 MB 或 KB,將使用 MB 並按 MB 分配。

Sales_ log 文件以 MB 為單位進行分配,因為 SIZE 參數中顯式聲明了
MB 後綴。

USE master;

GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO

C.通過指定多個數據和事務日誌文件創建資料庫

以下示例創建資料庫 Archive,該資料庫具有三個 100-MB 數據文件和兩個 100-MB 事務日誌文件。

主文件是列表中的第一個文件,並使用 PRIMARY
關鍵字顯式指定。

事務日誌文件在 LOG ON 關鍵字後指定。

請注意用於 FILENAME 選項中各文件的擴展名: .mdf 用於主數據文件, .ndf 用於輔助數據文件, .ldf 用於事務日誌文件。

此示例將資料庫放置於 D: 驅動器上,而非 master 資料庫中。

USE master;

GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO

熱點內容
安卓怎麼凍結蘋果id賬號 發布:2025-02-01 08:45:16 瀏覽:639
pythonforosx 發布:2025-02-01 08:43:50 瀏覽:763
ftp建站工具 發布:2025-02-01 08:42:07 瀏覽:532
linux開啟ntp 發布:2025-02-01 08:31:42 瀏覽:284
excel密碼加密 發布:2025-02-01 08:17:01 瀏覽:538
陌陌在手機哪個文件夾 發布:2025-02-01 08:13:49 瀏覽:317
proe50解壓打不開 發布:2025-02-01 08:11:17 瀏覽:390
密碼按錯三次怎麼辦 發布:2025-02-01 08:00:24 瀏覽:850
傳送門什麼配置好玩 發布:2025-02-01 08:00:17 瀏覽:1000
android監聽輸入法狀態 發布:2025-02-01 07:52:44 瀏覽:283