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

分享

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

 whli88 2007-10-12

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

轉自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)沒有自己的用戶界面,因為它主要設計為在后臺運行。用戶通過 MSDE 2000 嵌入的程序與它交互。隨 MSDE 2000 提供的唯一工具是 osql ??蓤?zhí)行文件 Sql.exe 在 MSDE 2000 的默認實例的 MSSQL\Binn 文件夾中。本文重點討論如何通過使用 osql 工具管理 MSDE 2000。

回到頂端 回到頂端

何為 Osql?

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

回到頂端 回到頂端

如何使用 Osql?

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

將該工具指向一個包含要運行的 Transact-SQL 語句的腳本文件。

交互式輸入 Transact-SQL 語句

如要顯示 osql 工具的區(qū)分大小寫的選項列表,請在命令提示符下鍵入如下內容,然后按 ENTER 鍵:

osql -?

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

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

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

如要運行當前緩存的語句,請鍵入“Go”,接著按 ENTER 鍵。

如要運行一批 Transact-SQL 語句,請分別在單獨的行上輸入每一個 Transact-SQL 命令。然后,在最后一行上鍵入“Go”以表示批處理命令的結束并運行當前緩存的語句。

運行結果出現(xiàn)在控制臺窗口。

4. 當您在輸入的每一行后按 ENTER 鍵時,如想從 osql 退出,請鍵入 QUIT 或 EXIT,并按 ENTER 鍵。

提交 Osql 作業(yè)

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

- 或 -

將該工具指向一個腳本文件。
下面將詳細介紹每一種方法。

指定單個 Transact-SQL 語句

如要針對 MSDE 2000 的本地默認實例運行 Transact-SQL,請鍵入與下面這一個類似的命令:

osql -E -q "Transact-SQL statement"

其中

-E 表示使用 Microsoft Windows NT 身份驗證。

-而-

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

將該工具指向一個腳本文件

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

osql -E -i input_file

其中

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

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

osql -E -i input_file -o output_file

其中

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

如想消除輸出結果中的編號和提示符號,請向上述命令中添加 -n 選項。例如:

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

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

如要連接到 MSDE 2000,請按照下列步驟操作:
1. 確認 MSDE 2000 正在運行。
2. 在承載您要連接的 MSDE 2000 實例的計算機上打開一個命令窗口。
3. 鍵入下面的命令,然后按 ENTER 鍵:

osql -E

這可以通過使用 Windows 身份驗證將您連接到 MSDE 2000 的本地默認實例。

如要連接到 MSDE 2000 的一個命名實例,請鍵入:

osql -E -S servername\instancename

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

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

管理 MSDE 2000

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

新建登錄帳戶

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

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

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

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

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

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

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

                

sp_adduser 存儲過程執(zhí)行與 sp_grantdbaccess 存儲過程相同的功能。因為包括 sp_adduser 存儲過程是為了向后兼容,所以 Microsoft 建議您使用 sp_grantdbacess 存儲過程。

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

如何更改登錄密碼

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

                

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

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

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

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

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

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

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

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

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

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

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

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

                

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

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

                

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


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

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

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

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

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

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

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

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

下面的示例將來自名為 mydb 的數(shù)據(jù)庫的兩個文件附加到 SQL Server 的當前實例:
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 標準中的區(qū)域語言。有關詳細信息,請參見 Microsoft 知識庫中的以下文章:
239530 (http://support.microsoft.com/kb/239530/EN-US/) INF:Unicode String Constants in SQL Server Require N Prefix
只有 sysadmin dbcreator 固定服務器角色的成員才可以運行此過程。有關 sp_attach_db 存儲過程的更多信息,請參見“SQL Server 聯(lián)機圖書”中的“sp_attach_db, Transact-SQL Reference”主題。 下面關于 osql 工具使用方面的信息適用于所有版本的 Microsoft SQL Server 2000。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多