小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000) | 數(shù)據(jù)...

 whli88 2007-10-12

HOW TO:使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)

轉(zhuǎn)自msdn

本頁
概要 概要
  何為 Osql? 何為 Osql?
  如何使用 Osql? 如何使用 Osql?
    交互式輸入 Transact-SQL 語句 交互式輸入 Transact-SQL 語句
    提交 Osql 作業(yè) 提交 Osql 作業(yè)
  連接到 SQL Server 桌面引擎 (MSDE 2000) 連接到 SQL Server 桌面引擎 (MSDE 2000)
  管理 MSDE 2000 管理 MSDE 2000
    新建登錄帳戶 新建登錄帳戶
    訪問數(shù)據(jù)庫 訪問數(shù)據(jù)庫
    如何更改登錄密碼 如何更改登錄密碼
    創(chuàng)建數(shù)據(jù)庫 創(chuàng)建數(shù)據(jù)庫
    備份和還原數(shù)據(jù)庫 備份和還原數(shù)據(jù)庫
    附加和分離數(shù)據(jù)庫 附加和分離數(shù)據(jù)庫
參考 參考
這篇文章中的信息適用于: 這篇文章中的信息適用于:

概要

“SQL Server 桌面引擎”(也叫 MSDE 2000)沒有自己的用戶界面,因?yàn)樗饕O(shè)計(jì)為在后臺(tái)運(yùn)行。用戶通過 MSDE 2000 嵌入的程序與它交互。隨 MSDE 2000 提供的唯一工具是 osql ??蓤?zhí)行文件 Sql.exe 在 MSDE 2000 的默認(rèn)實(shí)例的 MSSQL\Binn 文件夾中。本文重點(diǎn)討論如何通過使用 osql 工具管理 MSDE 2000。

回到頂端 回到頂端

何為 Osql?

osql 工具是一個(gè) Microsoft Windows 32 命令提示符工具,您可以使用它運(yùn)行 Transact-SQL 語句和腳本文件。osql 工具使用 ODBC 數(shù)據(jù)庫應(yīng)用程序編程接口 (API) 與服務(wù)器通訊。

回到頂端 回到頂端

如何使用 Osql?

一般情況下,可以這樣使用 osql 工具:
用戶通過與使用命令提示符時(shí)相似的方式交互輸入 Transact-SQL 語句。
用戶提交 osql 作業(yè),方法是:
指定單個(gè)要運(yùn)行的 Transact-SQL 語句。 - 或 -

將該工具指向一個(gè)包含要運(yùn)行的 Transact-SQL 語句的腳本文件。

交互式輸入 Transact-SQL 語句

如要顯示 osql 工具的區(qū)分大小寫的選項(xiàng)列表,請(qǐng)?jiān)诿钐崾痉骆I入如下內(nèi)容,然后按 ENTER 鍵:

osql -?

如想了解關(guān)于 osql 工具的每一選項(xiàng)的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“osql Utility”主題。

如要交互輸入 Transact-SQL 語句,請(qǐng)按照下列步驟操作:

1. 確認(rèn) MSDE 2000 正在運(yùn)行。
2. 連接到 MSDE 2000(有關(guān)更多信息,請(qǐng)參見標(biāo)題為“連接到 SQL Server 桌面引擎 (MSDE 2000)”的部分)。
3. osql 命令提示符下,鍵入 Transact-SQL 語句,然后按 ENTER 鍵。 當(dāng)您在輸入的每一行后按 ENTER 鍵時(shí),osql 將緩存該命令行上的語句。

如要運(yùn)行當(dāng)前緩存的語句,請(qǐng)鍵入“Go”,接著按 ENTER 鍵。

如要運(yùn)行一批 Transact-SQL 語句,請(qǐng)分別在單獨(dú)的行上輸入每一個(gè) Transact-SQL 命令。然后,在最后一行上鍵入“Go”以表示批處理命令的結(jié)束并運(yùn)行當(dāng)前緩存的語句。

運(yùn)行結(jié)果出現(xiàn)在控制臺(tái)窗口。

4. 當(dāng)您在輸入的每一行后按 ENTER 鍵時(shí),如想從 osql 退出,請(qǐng)鍵入 QUIT 或 EXIT,并按 ENTER 鍵。

提交 Osql 作業(yè)

一般情況下,您可以用兩種方法之一提交 osql 作業(yè)。您可以:
指定單個(gè) Transact-SQL 語句。

- 或 -

將該工具指向一個(gè)腳本文件。
下面將詳細(xì)介紹每一種方法。

指定單個(gè) Transact-SQL 語句

如要針對(duì) MSDE 2000 的本地默認(rèn)實(shí)例運(yùn)行 Transact-SQL,請(qǐng)鍵入與下面這一個(gè)類似的命令:

osql -E -q "Transact-SQL statement"

其中

-E 表示使用 Microsoft Windows NT 身份驗(yàn)證。

-而-

-q 表示運(yùn)行 Transact-SQL 語句,但是在查詢結(jié)束時(shí)不退出 osql
如要運(yùn)行 Transact-SQL 語句并退出 osql,請(qǐng)使用 -Q 參數(shù)來代替 -q

將該工具指向一個(gè)腳本文件

如要將該工具指向一個(gè)腳本文件,請(qǐng)按照下列步驟操作:
1. 創(chuàng)建一個(gè)包含一批 Transact-SQL 語句的腳本文件(如 myQueries.sql)。
2. 打開命令提示符,鍵入與下面類似的一個(gè)命令,然后按 ENTER 鍵:

osql -E -i input_file

其中

input_file 是腳本文件及其完整路徑。例如,如果腳本文件 myQueries.sql 在 C:\Queries 文件夾中,請(qǐng)將參數(shù) input_file 替換為 C:\Queries\myQueries.sql。

該腳本文件的運(yùn)行結(jié)果將出現(xiàn)在控制臺(tái)窗口中。如果您想將運(yùn)行結(jié)果定向到一個(gè)文件,請(qǐng)向上述命令中添加 -ooutput_file 參數(shù)。例如:

osql -E -i input_file -o output_file

其中

output_file 是輸出文件及其完整路徑。

如想消除輸出結(jié)果中的編號(hào)和提示符號(hào),請(qǐng)向上述命令中添加 -n 選項(xiàng)。例如:

osql -E -i input_file -o output_file -n
回到頂端 回到頂端

連接到 SQL Server 桌面引擎 (MSDE 2000)

如要連接到 MSDE 2000,請(qǐng)按照下列步驟操作:
1. 確認(rèn) MSDE 2000 正在運(yùn)行。
2. 在承載您要連接的 MSDE 2000 實(shí)例的計(jì)算機(jī)上打開一個(gè)命令窗口。
3. 鍵入下面的命令,然后按 ENTER 鍵:

osql -E

這可以通過使用 Windows 身份驗(yàn)證將您連接到 MSDE 2000 的本地默認(rèn)實(shí)例。

如要連接到 MSDE 2000 的一個(gè)命名實(shí)例,請(qǐng)鍵入:

osql -E -S servername\instancename

如果您收到了下面的錯(cuò)誤消息,表明 MSDE 2000 可能未在運(yùn)行,或者您可能為安裝的 MSDE 2000 的命名實(shí)例提供了錯(cuò)誤的名稱:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).
如果您成功連接到了該服務(wù)器,就會(huì)出現(xiàn)下面的提示:

   1>
            
                        
此提示表示 osql 已啟動(dòng)。現(xiàn)在,您可以交互輸入 Transact-SQL 語句,運(yùn)行結(jié)果將出現(xiàn)在命令提示行上。
回到頂端 回到頂端

管理 MSDE 2000

本文下面的部分將向您簡單介紹管理 MSDE 2000 時(shí)最常用的 Transact-SQL 命令。

新建登錄帳戶

未提供有效登錄 id 的用戶無法連接到 SQL Server??烧{(diào)用 sp_grantlogin 存儲(chǔ)過程來授權(quán)一個(gè) Microsoft Windows 網(wǎng)絡(luò)帳戶(一個(gè)組或者一個(gè)用戶帳戶),使之作為一個(gè)使用 Windows 身份驗(yàn)證連接到 SQL Server 實(shí)例的 SQL Server 登錄帳戶。下面的示例允許一個(gè)名為 Corporate\Test 的 Windows NT 用戶連接到 SQL Server 實(shí)例:
EXEC sp_grantlogin 'Corporate\Test'

                
只有 sysadmin securityadmin 固定服務(wù)器角色的成員可以運(yùn)行 sp_grantlogin 存儲(chǔ)過程。有關(guān)這些角色的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中“Roles, SQL Server Architecture”主題。

有關(guān) sp_grantlogin 存儲(chǔ)過程的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“sp_grantlogin, Transact-SQL Reference”主題。

您可以使用 sp_addlogin 存儲(chǔ)過程創(chuàng)建一個(gè)使用 SQL Server 身份驗(yàn)證建立 SQL Server 連接的新登錄帳戶。下面的示例為一個(gè)名叫“test”的用戶創(chuàng)建了一個(gè)密碼為“hello”的 SQL Server 登錄:
EXEC sp_addlogin 'test','hello'

                
只有 sysadmin securityadmin 固定服務(wù)器角色的成員可以運(yùn)行 sp_addlogin 存儲(chǔ)過程。有關(guān) sp_addlogin 存儲(chǔ)過程的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“sp_addlogin, Transact-SQL Reference”主題。

訪問數(shù)據(jù)庫

在用戶連接到 SQL Server 的一個(gè)實(shí)例后,他們只有在 dbo 授予他們對(duì)數(shù)據(jù)庫的訪問權(quán)后才可以在數(shù)據(jù)庫中執(zhí)行活動(dòng)。您可以使用 sp_grantdbaccess 存儲(chǔ)過程為新用戶向當(dāng)前數(shù)據(jù)庫中添加一個(gè)安全帳戶。下面的示例為一個(gè)名叫 Corporate\BobJ 的 Microsoft Windows NT 的用戶向當(dāng)前數(shù)據(jù)庫添加了一個(gè)帳戶,并將其命名為“Bob”:
EXEC sp_grantdbaccess 'Corporate\BobJ', 'Bob'

                

sp_adduser 存儲(chǔ)過程執(zhí)行與 sp_grantdbaccess 存儲(chǔ)過程相同的功能。因?yàn)榘?sp_adduser 存儲(chǔ)過程是為了向后兼容,所以 Microsoft 建議您使用 sp_grantdbacess 存儲(chǔ)過程。

只有 sysadmin 固定服務(wù)器角色、db_accessadmindb_owner 固定數(shù)據(jù)庫角色的成員才可以運(yùn)行 sp_grantdbaccess 存儲(chǔ)過程。有關(guān) sp_grantdbaccess 存儲(chǔ)過程的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“sp_grantdbaccess, Transact-SQL Reference”主題。

如何更改登錄密碼

如要修改登錄密碼,請(qǐng)使用 sp_password 存儲(chǔ)過程。下面的示例將“test”登錄的密碼從“ok”更改為“hello”:
EXEC sp_password 'ok', 'hello','test'

                

執(zhí)行權(quán)限默認(rèn)授予正在更改其自己的登錄密碼的用戶的公共角色。只有 sysadmin 角色才可以為其他用戶更改登錄密碼。有關(guān) sp_password 存儲(chǔ)過程的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書中”的“sp_password, Transact-SQL Reference”主題。

創(chuàng)建數(shù)據(jù)庫

MSDE 2000 數(shù)據(jù)庫由一個(gè)表的集合組成,這些表中包含數(shù)據(jù)和其他對(duì)象,如視圖、索引、存儲(chǔ)過程和事件觸發(fā)器,這些內(nèi)容定義為支持對(duì)數(shù)據(jù)執(zhí)行的各種活動(dòng)。如要?jiǎng)?chuàng)建 MSDE 2000 數(shù)據(jù)庫,請(qǐng)使用“CREATE DATABASE”Transact-SQL 命令。有關(guān) 創(chuàng)建數(shù)據(jù)庫的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“Creating a Database”主題。

下面的示例創(chuàng)建了一個(gè)名為 Test 的數(shù)據(jù)庫。因?yàn)闆]有向該命令行添加其他參數(shù),所以 Test 數(shù)據(jù)庫將與 model 數(shù)據(jù)庫大小相同:
CREATE DATABASE Test

                
CREATE DATABASE 權(quán)限默認(rèn)授予 sysadmin dbcreator 固定服務(wù)器角色的成員。有關(guān)“CREATE DATABASE”命令的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“CREATE DATABASE, Transact-SQL Reference”主題。

如要?jiǎng)?chuàng)建一個(gè)新的數(shù)據(jù)庫對(duì)象,請(qǐng)使用“CREATE Transact-SQL”命令。例如,要新建一個(gè)表,請(qǐng)使用“CREATE TABLE”Transact-SQL 命令。有關(guān)更多信息,請(qǐng)參考“SQL Server 聯(lián)機(jī)圖書”。

備份和還原數(shù)據(jù)庫

SQL Server 的備份和還原組件為保護(hù)存儲(chǔ)在 SQL Server 數(shù)據(jù)庫中的關(guān)鍵數(shù)據(jù)提供了一個(gè)重要的保護(hù)措施。

通過適當(dāng)?shù)囊?guī)劃,您可以從許多故障中恢復(fù),包括:
存儲(chǔ)媒體故障。
用戶錯(cuò)誤。
服務(wù)器的永久丟失。
另外,備份和還原數(shù)據(jù)庫還有其他方面的用途,例如將數(shù)據(jù)庫從一個(gè)服務(wù)器復(fù)制到另一個(gè)服務(wù)器。通過從一臺(tái)計(jì)算機(jī)上備份一個(gè)數(shù)據(jù)庫和將此數(shù)據(jù)庫還原到另一臺(tái)計(jì)算機(jī)上,您可以快速方便地制作數(shù)據(jù)庫的副本。

有關(guān)數(shù)據(jù)庫備份和還原操作方面的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“Backing Up and Restoring Databases”主題。

下面的示例為一個(gè)名為 mydb的數(shù)據(jù)庫執(zhí)行完全數(shù)據(jù)庫備份,將此備份命名為 Mydb.bak,然后將此備份存儲(chǔ)在 C:\Msde\Backup 文件夾中。

BACKUP DATABASE mydb TO DISK = 'C:\MSDE\Backup\mydb.bak'

                

下面的示例為一個(gè)名為 mydb 的數(shù)據(jù)庫執(zhí)行日志備份,將此備份命名為 Mydb_log.bak,然后將其存儲(chǔ)在 C:\Msde\Backup 文件夾中:

BACKUP LOG mydb TO DISK = 'C:\MSDE\Backup\mydb_log.bak'

                

BACKUP DATABASE 和 BACKUP LOG 權(quán)限默認(rèn)授予 sysadmin 固定服務(wù)器角色以及 db_ownerdb_backupoperator 固定數(shù)據(jù)庫角色的成員。有關(guān) BACKUP 語句的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“BACKUP, Transact-SQL Reference”主題。


MSDE 包括 SQL Server 代理程序服務(wù)用以管理安排的作業(yè)。例如,您可以創(chuàng)建并安排一個(gè) Transact-SQL 備份作業(yè)。SQL Server 代理程序服務(wù)管理作業(yè)安排。如想查看演示如何在 MSDE 2000 中使用各種存儲(chǔ)過程執(zhí)行和安排備份的示例代碼,請(qǐng)參見下面的 Microsoft 知識(shí)庫文章:
241397 (http://support.microsoft.com/kb/241397/EN-US/) HOWTO:Back Up a Microsoft Data Engine Database with Transact-SQL
有關(guān) SQL Server 代理程序服務(wù)的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“SQL Server Agent Service”主題。

備份數(shù)據(jù)庫只是全部過程的一半。知道如何從備份中還原數(shù)據(jù)庫也非常重要。下面的示例將一個(gè)名為 mydb 的數(shù)據(jù)庫從備份文件 C:\Msde\Backup\Mydb.bak 中還原:

RESTORE DATABASE mydb FROM DISK ='C:\MSDE\Backup\mydb.bak'

                
如果將要還原的數(shù)據(jù)庫不存在,則用戶必須具有 CREATE DATABASE 權(quán)限才可以運(yùn)行 RESTORE 語句。如果該數(shù)據(jù)庫存在,則 RESTORE 權(quán)限默認(rèn)授予 sysadmin dbcreator 固定服務(wù)器角色的成員,以及該數(shù)據(jù)庫的所有者 (dbo)。有關(guān) RESTORE 語句的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“RESTORE, Transact-SQL Reference”主題。

附加和分離數(shù)據(jù)庫

可以分離一個(gè)數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件然后將其重新附加到另一個(gè)服務(wù)器,或重新附加到同一服務(wù)器。分離一個(gè)數(shù)據(jù)庫雖然從 SQL Server 中刪除了該數(shù)據(jù)庫,但構(gòu)成該數(shù)據(jù)庫的數(shù)據(jù)和事務(wù)日志文件沒有任何改動(dòng)。 然后您可以使用這些數(shù)據(jù)和事務(wù)日志文件將該數(shù)據(jù)庫附加到任何 SQL Server 實(shí)例,其中包括從中分離該數(shù)據(jù)庫的那一服務(wù)器。這使該數(shù)據(jù)庫能夠以與在被分離時(shí)完全相同的狀態(tài)供在其他位置使用。有關(guān)更多信息,請(qǐng)參見 “SQL Server 聯(lián)機(jī)圖書”中的“Attaching and Detaching a Database”主題。

下面的示例將一個(gè)名為 mydb 的數(shù)據(jù)庫從 SQL Server 的當(dāng)前實(shí)例中分離出來:
EXEC sp_detach_db 'mydb'

                
只有 sysadmin 固定服務(wù)器角色的成員才可以運(yùn)行 sp_detach_db 存儲(chǔ)過程。有關(guān) sp_detach_db 存儲(chǔ)過程的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“sp_detach_db, Transact-SQL Reference”主題。

下面的示例將來自名為 mydb 的數(shù)據(jù)庫的兩個(gè)文件附加到 SQL Server 的當(dāng)前實(shí)例:
EXEC sp_attach_db @dbname = N'mydb',

   @filename1 = N'C:\MSDE\Backup\mydb.mdf',
   @filename2 = N'C:\MSDE\Backup\mydb.ldf'
                
大寫字母“N”用來給“Unicode 字符串”常量添加前綴。“N”前綴代表 SQL-92 標(biāo)準(zhǔn)中的區(qū)域語言。有關(guān)詳細(xì)信息,請(qǐng)參見 Microsoft 知識(shí)庫中的以下文章:
239530 (http://support.microsoft.com/kb/239530/EN-US/) INF:Unicode String Constants in SQL Server Require N Prefix
只有 sysadmin dbcreator 固定服務(wù)器角色的成員才可以運(yùn)行此過程。有關(guān) sp_attach_db 存儲(chǔ)過程的更多信息,請(qǐng)參見“SQL Server 聯(lián)機(jī)圖書”中的“sp_attach_db, Transact-SQL Reference”主題。 下面關(guān)于 osql 工具使用方面的信息適用于所有版本的 Microsoft SQL Server 2000。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多