顯示具有 IT、軟體、SQL 標籤的文章。 顯示所有文章
顯示具有 IT、軟體、SQL 標籤的文章。 顯示所有文章

2012年8月13日

SQL2008 64bit connect sql 2000 opendatasource

最近下班的雲很美阿

sql 2008  使用OPENDATASOURCE 語法出現下列訊息:


連結伺服器 "(null)"   OLE DB 提供者 "SQLNCLI10" 傳回訊息 "無法指出 錯誤"。
連結伺服器 "(null)"   OLE DB 提供者 "SQLNCLI10" 傳回訊息 "無法在伺服器中找到完成此操作所須 預存程序。請連絡您 系統管理員。"。
訊息 7311,層級 16,狀態 2,行 3
無法為連結伺服器 "(null)"   OLE DB 提供者 "SQLNCLI10" 取得結構描述資料列集 "DBSCHEMA_TABLES_INFO"。提供者支援介面,但在使用時傳回失敗碼。

找到sp資料夾run instcat.sql  ----
-----------run sp4 \install\instcat.sql -------------
osql -E -S  -i \instcat.sql

問了咕狗大神請參考m$kb http://support.microsoft.com/kb/906954


隨機好文:
Powered by Stuff-a-Blog

Share/Save/Bookmark

2011年3月25日

xp_cmdshell關閉開啟語法與已封鎖元件 'Ad Hoc Distributed Queries'

        昨天去上m$的dba課程有提到其中一個xp_cmd_shell,這個萬惡的sp已經是駭客最愛用的sp,很好用喔之前上課有老師直接demo可以在command mode,下執行任何程式....Orz ,後來m$乾脆SQL2005 以上 default 關掉,但是還是有人要用,幫大家紀錄在這邊,請大家要打開前注意安全建議不要開拉,最好打開xp_cmdshell當阿呆


以上

SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 

OpenRowset/OpenDatasource

訊息 15281,層級 16,狀態 1,行 4
SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 之存取,因為此元件已經由此伺服器的安全性組態關閉。系統管理員可以使用 sp_configure 來啟用 'Ad Hoc Distributed Queries' 的使用。如需有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱《SQL Server 線上叢書》中的<介面區組態>(Surface Area Configuration)。

解法:
 
--開啟OpenRowSet
EXEC sp_configure 'show advanced options',1
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries',1
RECONFIGURE;

--關閉OpenRowSet ( 最後的 1 改成 0 )
EXEC sp_configure 'show advanced options',1
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries',0
RECONFIGURE;

M$官方網站請參考
REF:http://msdn.microsoft.com/en-us/library/ms187569.aspx

xp_cmdshell錯誤訊息

訊息 15281,層級 16,狀態 1,程序 xp_cmdshell,行 1
SQL Server 已封鎖元件 'xp_cmdshell' 的 程序 'sys.xp_cmdshell' 之存取,因為此元件已經由此伺服器的安全性組態關閉。系統管理員可以使用 sp_configure 來啟用 'xp_cmdshell' 的使用。如需有關啟用 'xp_cmdshell' 的詳細資訊,請參閱《SQL Server 線上叢書》中的<介面區組態>(Surface Area Configuration)。



解法:

-- 開啟 xp_cmdshell
    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 1;
    RECONFIGURE;
   
-- 關閉 xp_cmdshell
    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 0;
    RECONFIGURE;
---------------我是SQL 2000分隔線---------------


將有安全考量問題的SQL SP 刪除安全是回家唯一的路
刪除了呼叫shell、regtree、COM+

PS.安全警語,服用請注意是否使用com+ 元件,以免無法使用

刪除xp_cmdshell:

Use Master
Exec sp_dropextendedproc N'xp_cmdshell'
Go

安裝xp_cmdsehll:

Use Master
EXEC sp_addextendedproc xp_cmdshell,'xplog70.dll'
Go


use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask


隨機好文:
Powered by Stuff-a-Blog

Share/Save/Bookmark

2011年1月5日

ms sqlserver 2005 自動重新啟動

     M$SQLSERVER一直以來都有一個問題就是sql7->sql2000->sql2005,一路繼承下來的就是記憶體空間無法釋放,基本上sql是動態記憶體就是使用多少吃多少記憶體,但是通常佔用了就不會自動釋放....Orz
      這個語法就是手動幫助sql釋放記憶體空間,就是重新啟動sql,把這個放到job裡面就可以收工。

 編輯一個批次檔sqlserver_restart.bat
貼上以下文字,收工
===rem stop sql server&agent 
net stop sqlserveragent
net stop mssqlserver
===rem start sql server

net start mssqlserver
net start sqlserveragent

隨機好文:
Powered by Stuff-a-Blog

Share/Save/Bookmark

2009年12月19日

How to backup SQL2005 analysis service cube 如何備份SQL 2005的cube

首先點選需要被份的Analysis Service 資料庫


點選需要備份資料庫點選 備份

選擇好需要備份的資料庫路徑
選擇不需要加密

會產生這樣的xmla語法
打開SMS 點選SQL Server Agent 
點選Job 作業

輸入剛剛的語法

點選SQL Server anlaysis Service 命令選好後點選 確定
收工


REF:M$官方備份文件
隨機好文:

Powered by Stuff-a-Blog



Share/Save/Bookmark

2009年12月14日

win2000 over 3gb /PAE設定方法與sql 2005 sql 7 sql 2000 awe setting

簡單來說

/PAE 是給作業系統用的
,目的是要存取超過 4GB 的實體記憶體
/3GB 是給應用程式用的,目的是要讓應用程式可以使用超過 2GB 的記憶體(最大 3GB)。
如果您的應用程式需要超過 3GB 的記憶體,您要使用 AWE(Address Windows Extension)才能使用超過 3GB 的記憶體。EX: MS SQL Server

當然OS的PAE要先開啟

PAE 開啟方法:

administrator 權限 打開boot.ini 加入 /PAE 收工

範例:win2000 

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Server" /PAE /fastdetect


AWE開啟方法:(sql 2005 sms client)


如果有裝SQL2005 clinet 就很方便連上去按一下就好了參考下圖


 SQL2005 SMS直接改一下就好了

------windows PAE 開啟方法-------我是分隔線------

Windows Server 2003 和 Windows 2000 提供大型記憶體支援

本文將說明實體位址擴充 (PAE,Physical Address Extension) 和 Address Windowing Extensions (AWE) 的相關資訊,並解釋它們如何搭配使用。本文也將告訴您,在 32 位元作業系統中,使用超過 4 GB 記憶體範圍的限制。

http://support.microsoft.com/kb/283037/

部份重點,節錄如下:

PAE 是 IA32 處理器新增的功能,可以定址 4 GB 以上的實體記憶體。如果要啟用 PAE,請使用 Boot.ini 檔案中的 /PAE 參數。

注意 在 Windows Server 2003 中,如果伺服器是使用熱新增記憶體裝置,便會自動啟用 PAE。在這種情況下,您不需要在已設定為使用熱新增記憶體裝置的系統上使用 /PAE 參數。在其他情況下,您必須在 Boot.ini 檔案中使用 /PAE 參數,才能使用超過 4 GB 的記憶體。

下列範例是已加入 PAE 參數的 Boot.ini 檔:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE
====================================================

如何設定 SQL Server 使用超過 2 GB 的實體記憶體

Microsoft SQL Server 7.0 和 Microsoft SQL Server 2000 會依需要動態取得及釋放記憶體。當您在電腦上執行多個 SQL Server 執行個體時,每個執行個體都會動態取得及釋放記憶體,以隨執行個體工作負載的變化進行調整。

SQL Server 2000 Enterprise Edition 引用 Microsoft Windows 2000 Address Windowing Extensions (AWE) 提供的支援,可定址大約 8 GB 的記憶體,以供執行於 Microsoft Windows 2000 Advanced Server 的執行個體使用,且可定址大約 32 GB 的記憶體,以供執行於 Microsoft Windows 2000 Datacenter 的執行個體使用。有了 AWE 的幫助,SQL Server 就可以保留目前不使用的記憶體,供其他應用程式和作業系統使用。

http://support.microsoft.com/kb/274750/zh-tw

部份重點,節錄如下:
SQL Server 2000 Enterprise 和 SQL Server 2000 Developer Editions 都可以使用下列選項:


使用 Boot.ini 的 /PAE 參數和 SQL Server 的 AWE 啟用選項,可以讓 SQL Server 2000 使用超過 4 GB 的記憶體。如果沒有使用 /PAE 參數,則 SQL Server 最多只能使用 3 GB 記憶體。

注意 如果要讓 AWE 在 Windows 2000 Data Center 中能夠使用 16 GB 以上的記憶體範圍,請確定 Boot.ini 檔案中沒有 /3GB 參數。如果在 Boot.ini 檔案中有 /3GB 參數,Windows 2000 可能就無法正確定址 16 GB 以上的任何記憶體。

當您在 32 GB 系統上配置 SQL Server AWE 記憶體時,Windows 2000 可能需要至少 1 GB 記憶體來管理 AWE。

SQL7 or SQL 2000 開啟AWE方法:

下列範例顯示如何啟用 AWE 以及如何為 [最大伺服器記憶體] 選項設定 6 GB 的限制:

sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO

在 Boot.ini 檔案中使用 /3GB 參數可以讓 SQL Server 2000 使用最多 3 GB 的可用記憶體。

REF: windows 2000 boot.ini  M$官方玩法

隨機好文:

Powered by Stuff-a-Blog



Share/Save/Bookmark

2009年9月28日

安裝 SQL Server 2000 時,提示先前的程式安裝在安裝機制上建立了擱置檔案作業

這個問題算是FAQ了,請服用

安裝 SQL Server 2000 時,提示先前的程式安裝在安裝機制上建立了擱置檔案作業


開始->執行->Regedit


然後找出機碼:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

請直接刪掉這個機碼,就可以解決無法安裝的錯誤訊息了

PS.刪除機碼請特別注意,無法還原請小心處理


Share/Save/Bookmark

2009年2月10日

資料庫 版本編號sybase sql 皆可以用

這個語法sybase 跟 MS SQL都可以用(基本上sybase跟sql 本一家)

select @@version

版本的區別:

版本 編號

SQL Server 2005 9.00.1399

SQL Server 2005 SP1 9.00.2047

SQL Server 2005 SP2 9.00.3042

微軟12/16釋出SQL 2005 Service Pack 3,版本編號是9.00.4035


Share/Save/Bookmark