久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

根據(jù)版本的不同整理所有的綠色SQL Server

瀏覽:9日期:2023-11-05 14:11:33
在這篇論壇文章(賽迪網(wǎng)技術(shù)社區(qū))中,讀者可以了解到如何根據(jù)不同的SQL Server版本,整理出所有版本的綠色SQL Server的具體方法,詳細(xì)內(nèi)容請(qǐng)參考下文:

1. Sqlservr.exe 運(yùn)行參數(shù)

Sql Server的啟動(dòng)可以為Windows服務(wù)方式(默認(rèn)),也可以以應(yīng)用程序方式啟動(dòng)。下面介紹sqlservr.exe以應(yīng)用程序方式啟動(dòng)時(shí)的參數(shù)問題。

sqlservr 應(yīng)用程序用法:

sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f]

[-eerror_log_path] [-lmaster_log_path] [-m]

[-n] [-Ttrace#] [-v] [-x] [-g number] [-O] [-y number]

-sinstance_name

指定要連接到的 SQL Server 實(shí)例。如果未指定命名實(shí)例,sqlservr 將啟動(dòng) SQL Server 默認(rèn)實(shí)例。重要 啟動(dòng) SQL Server 實(shí)例時(shí),必須從實(shí)例所在的適當(dāng)目錄使用 sqlservr 應(yīng)用程序。對(duì)于默認(rèn)實(shí)例,從 MSSQLBinn 目錄運(yùn)行 sqlservr。對(duì)于命名實(shí)例,在 MSSQL$instance_nameBinn 目錄運(yùn)行 sqlservr。

-c

表示以獨(dú)立于 Windows NT 服務(wù)控制管理器的方式啟動(dòng) SQL Server 實(shí)例。當(dāng)從命令提示符下啟動(dòng) SQLServer 時(shí),可使用該選項(xiàng)縮短啟動(dòng) SQL Server 的時(shí)間。(注意:當(dāng)使用該選項(xiàng)時(shí),無法通過使用 SQLServer 服務(wù)管理器或 net stop 命令停止 SQL Server,而且如果已從 Microsoft Windows NT? 系統(tǒng)注銷,則 SQL Server 將停止運(yùn)行。)-dmaster_path指出 master 數(shù)據(jù)庫文件的完全合法路徑。在 -d 和 master_path 之間沒有空格。

-f

以最小配置模式啟動(dòng)服務(wù)器。然后,系統(tǒng)管理員可對(duì)配置選項(xiàng)重新配置(使用 sp_configure 系統(tǒng)存儲(chǔ)過程)。

-eerror_log_path

表示錯(cuò)誤日志文件的完全合法路徑。如果未指定路徑,則默認(rèn)實(shí)例的默認(rèn)位置是 x:Program FilesMicrosoft SQL ServerMSSQLLogErrorlog,命名實(shí)例的默認(rèn)位置是 x:Program FilesMicrosoft SQL ServerMSSQL$instance_nameLogErrorlog。在 -e 和 error_log_path 之間沒有空格。

-lmaster_log_path

指示 master 數(shù)據(jù)庫事務(wù)日志文件的完全合法路徑。在 -l 和 master_log_path 之間沒有空格。

-m

表示在單用戶模式下啟動(dòng) SQL Server 實(shí)例。如果 SQL Server 是以單用戶模式啟動(dòng)的,則只能連接一個(gè)用戶。CHECKPOINT 機(jī)制(它確保完成的事務(wù)定期從磁盤高速緩存寫入數(shù)據(jù)庫設(shè)備中)將不啟動(dòng)。(一般情況下,如果您遇到需要修復(fù)的系統(tǒng)數(shù)據(jù)庫問題時(shí),可使用此選項(xiàng)。)

-n

表示您不想使用 Windows NT 應(yīng)用程序日志來記錄 SQL Server 事件。如果用 -n 選項(xiàng)啟動(dòng) SQL Server 實(shí)例,則最好也使用 -e 選項(xiàng),否則將不會(huì)記錄 SQL Server 事件。

-Ttrace#

表示應(yīng)使用指定的有效跟蹤標(biāo)記 (trace#) 來啟動(dòng) SQL Server 實(shí)例。跟蹤標(biāo)志用來啟動(dòng)具有非標(biāo)準(zhǔn)行為的服務(wù)器。有關(guān)可用跟蹤標(biāo)記 (trace#) 的更多信息,請(qǐng)參見跟蹤標(biāo)記。重要 當(dāng)指定跟蹤標(biāo)志時(shí),請(qǐng)使用 –T 來傳遞跟蹤標(biāo)志號(hào)。SQL Server 接受小寫字母 t (-t);然而,-t 還設(shè)置 SQL Server 支持工程師所需的其它內(nèi)部跟蹤標(biāo)記。

-v

顯示服務(wù)器的版本號(hào)。

-x

禁用維護(hù) CPU 統(tǒng)計(jì)。

-g memory_to_reserve

指定內(nèi)存的兆字節(jié)整數(shù),該內(nèi)存被保留下來用于 SQL Server 2000 內(nèi)部(進(jìn)程內(nèi))運(yùn)行的其它應(yīng)用程序。

-O

指定不需要分布式 COM (DCOM),從而禁用異類查詢。

-y error_number

如果 SQL Server 2000 遇到在該選項(xiàng)中指定的錯(cuò)誤信息,它將把表象堆棧跟蹤寫入錯(cuò)誤日志。可以使用多個(gè) –y 參數(shù)指定多個(gè)錯(cuò)誤。

2. 系統(tǒng)數(shù)據(jù)庫路徑問題

一般情況下,正常安裝sql server之后,master等系統(tǒng)數(shù)據(jù)庫的路徑都是被設(shè)置為絕對(duì)路徑,如果要改正數(shù)據(jù)庫的路徑為相對(duì)路徑,可以使用以下SQl語句:

sql:=format(' update sysaltfiles set filename='%s' where filename='%s' ',

['...data'+extractfilename(MDFFile),MDFFile]);

ADOQuery1.Close;

ADOQuery1.SQL.Text:=sql;

ADOQuery1.ExecSQL;

sql:=format(' update sysaltfiles set filename='%s' where filename='%s' ',

['...data'+extractfilename(LogFile),LogFile]);

ADOQuery1.Close;

ADOQuery1.SQL.Text:=sql;

ADOQuery1.ExecSQL;

sql:=Format('update sysdatabases set filename='%s' where name='%s'', ['...data'+extractfilename(MDFFile),Edit1.text]);

ADOQuery1.Close;

ADOQuery1.SQL.Text:=sql;

ADOQuery1.ExecSQL;

大家打開sysaltfiles 表和sysdatabases 一看就知道了,不多說了。除了系統(tǒng)數(shù)據(jù)庫,其它的數(shù)據(jù)庫也可以使用這種方法修改為相對(duì)路徑。

使用相對(duì)路徑的好處是可以讓你的綠色Sql server隨時(shí)copy到任意目錄或是任意其它機(jī)器上啟動(dòng),并且原來的數(shù)據(jù)庫全部可以使用,如果是絕對(duì)路徑到了其它機(jī)器就不行了。

3. 注冊(cè)表問題:

大家可以看下面的注冊(cè)表文件

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$name]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServer]

'AuditLevel'=dword:00000000

'DefaultLogin'='guest'

'ListenOn'=hex(7):53,00,53,00,4d,00,53,00,53,00,48,00,37,00,30,00,00,00,53,00, 53,00,4e,00,45,00,54,00,4c,00,49,00,42,00,00,00,00,00

'LoginMode'=dword:00000000

'Map_'=''

'Map#'='-'

'Map$'=''

'SetHostName'=dword:00000000

'Tapeloadwaittime'=dword:ffffffff

'uptime_pid'=dword:00001044

'uptime_time_utc'=hex:26,57,c8,b3,fb,bb,c5,01

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerCurrentVersion]

'CurrentVersion'='8.00.194'

'RegisteredOwner'=''

'SerialNumber'=''

'CSDVersionNumber'=dword:00000300

'CSDVersion'='8.00.761'

'Language'=dword:00000804

'checksum'=hex:37,35,32,32,63,31,35,38,61,65,37,64,34,63,64,37,35,30,64,61,30, 33,34,62,37,64,63,32,30,61,36,36,39,37,62,34,61,35,65,36,63,66,62,61,38,37, 39,36,37,31,66,33,39,61,36,65,35,64,30,33,37,36,37,65,64,36,33,30,61,39,63, 36,66,37,36,30,35,65,32,66,34,66,31,33,63,39,33,63,34,66,62,66,34,66,64,38, 64,65,36,64,35,34,37,33,35,39,35,32,36,63,61,32,36,63,33,32,64,34,36,33,65, 36,39,34,30,65,61,37,64,35,30,61,66,34,64,32,66,38,37,36,30,61,39,64,30,61, 32,36,64,65,66,66,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerParameters]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerSuperSocketNetLib]

'ProtocolList'=hex(7):74,00,63,00,70,00,00,00,6e,00,70,00,00,00,00,00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerSuperSocketNetLibNp]

'PipeName'='.pipeMSSQL$$namesqlquery'

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerSuperSocketNetLibTcp]

'TcpHideFlag'=dword:00000000

'TcpDynamicPorts'='$port'

'TcpPort'='$port'

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameSetup]

'FeatureName'='SqlRun'

'FirstStart'=dword:00000000

'ProductCode'='{E09B48B5-E141-427A-AB0C-D3605127224A}'

'SQLDataRoot'='$path'

'SQLPath'='$path'

這是注冊(cè)一個(gè)Sql Server實(shí)例所要使用的注冊(cè)表,把里面的$name,$path,$port替換成你定義的實(shí)例名,當(dāng)前程序所有路徑,監(jiān)聽端口,然后導(dǎo)入注冊(cè)表就可以了。

4. 啟動(dòng)Sql Server

iPath:=ExtractFilePath(Application.ExeName);

CommandLine:=PChar(iPath+'binnsqlservr.exe -d...datamaster.mdf -l...datamastlog.ldf -e...Loglog.txt+Edit1.Text);

CreateProcess(

nil,

CommandLine,

nil,

nil,

true,

CREATE_NO_WINDOW,

nil,

PChar(iPath+'binn'),

StartupInfo,

ProcessInformation

)

也可以直接寫個(gè).bat運(yùn)行就ok了.

5.啟動(dòng)日志問題

這個(gè)問題最簡(jiǎn)單,因?yàn)樵趫?zhí)行sqlservr.exe時(shí)指定的有l(wèi)og文件,你只用用個(gè)定時(shí)器(50ms)讀文件,就可以在程序中顯示出來啟動(dòng)日志了,呵呵,這只是個(gè)思想,具體的自已想辦法吧.

6. 停止服務(wù)

用CreateProcess可以得到進(jìn)程ID,TerminateProcess就關(guān)了sql server進(jìn)程,服務(wù)就停了,簡(jiǎn)單吧。

根據(jù)上面的6個(gè)步驟,你就可以自已搞定一個(gè)綠色的Sql Server了.并且你可以根據(jù)不同的sql server版本,整理出所有版本的綠色sql server。

綠色 sql server 企業(yè)版

綠色 sql server 個(gè)人版

綠色 MSDE

... ...

這樣以后遇到什么操作系統(tǒng)都全部搞定。

最后說一句,只要你能把幾個(gè)Sql server版本的數(shù)據(jù)整理好(主要是系統(tǒng)數(shù)據(jù)庫的路徑問題(好像現(xiàn)在盒子已經(jīng)有綠色企業(yè)版的文件了),DLL全部copy就OK了),都可以使用我的管理工具進(jìn)行管理,呵呵,當(dāng)然你也可以作出自已的管理器。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 桦南县| 和龙市| 社会| 吐鲁番市| 翁源县| 兴海县| 南平市| 白银市| 江达县| 保德县| 许昌县| 师宗县| 铁岭市| 阳东县| 临西县| 辛集市| 弥渡县| 水城县| 日照市| 兴安县| 唐山市| 富民县| 双流县| 个旧市| 安义县| 康定县| 石楼县| 衡东县| 大连市| 巨野县| 方正县| 公安县| 彰化市| 沐川县| 绵竹市| 巩义市| 屏南县| 武强县| 玛曲县| 杭锦后旗| 衡东县|