2020年11月12日 星期四
SQL SERVER出現The activated proc '[dbo].[sp_syspolicy_events_reader]' running on queue 'msdb.dbo.syspolicy_event_queue' output the following: 'Cannot execute as the database principal because the principal "##MS_PolicyEventProcessingLogin##" does not exist, this type of principal cannot be impersonated, or you do not have permission.' 錯誤
在SQL SERVER的LOG上有發現這個錯誤訊息,每5秒出現一則,原因為msdb使用還原的方式且系統架構由C變為C、D
先使用以下命令檢查,會發現master和msdb的SID不一樣
USE master
SELECT * FROM sys.database_principals
WHERE [name] = '##MS_PolicyEventProcessingLogin##'
go
USE msdb
SELECT * FROM sys.database_principals
WHERE [name] = '##MS_PolicyEventProcessingLogin##'
go
使用以下命令來修正
use [master]
go
exec sp_change_users_login 'Auto_Fix', '##MS_PolicyEventProcessingLogin##';
go
use [msdb]
go
exec sp_change_users_login 'Auto_Fix', '##MS_PolicyEventProcessingLogin##';
go
再使用以下命令來檢查是否有修正
USE master
SELECT * FROM sys.database_principals
WHERE [name] = '##MS_PolicyEventProcessingLogin##'
go
USE msdb
SELECT * FROM sys.database_principals
WHERE [name] = '##MS_PolicyEventProcessingLogin##'
go
參考資料
https://dbamohsin.wordpress.com/2017/01/12/cannot-execute-as-the-database-principal-because-the-principal-ms_policyeventprocessinglogin/
SQL SERVER 維護計畫無法啟用,出現SSIS 子系統無法載入 [see the SQLAGENT.OUT file for details]; 已暫停作業
當MSDB使用還原的方式,如果SQL SERVER架構變更,例如由C碟改為C、D兩碟,在使用SQL維護計畫時SQL Agent會有錯誤發生,導致無法執行維護計畫
解決方法如下
檢查MSDB的資料
select * from msdb.dbo.syssubsystems
會發現subsystem_dll的資料仍然是指到C碟
執行以下指令
delete from msdb.dbo.syssubsystems
exec msdb.dbo.sp_verify_subsystems 1
再重新啟動 Agent 服務即可
參考資料
https://byronhu.wordpress.com/2011/07/04/sql-agent-job-%E6%9A%AB%E5%81%9Csuspend/
2020年11月10日 星期二
Windows共用相關指令
命令視窗需用管理員權限開啟
以下為開啟管理員權限的CMD
在PowerShell使用指令Start-Process "cmd.exe" –Verb RunAs
或
按Window+X,再按A
建立LocalUser
net user username password /add
建立LocalGroup
net localgroup testgroup /add /comment:"This is group for test users"
將user加入localgroup
net localgroup testgroup jack /add
將user移出localgroup
net localgroup testgroup jack /delete
移除localgroup
net localgroup testgroup /delete,
設定共用指令:net share test1$=d:\test1 /GRANT:jack,READ /GRANT:bob,REAF
說明:將d:\test1設為共用,名稱test1$,授予使用者jack讀取的權限
net share sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
[/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/CACHE:Manual | Documents| Programs | BranchCache | None]
設定目錄安全性指令:icacls "d:\test1" /grant jack:(OI)(CI)M /T
說明:將d:\test1的安全性加入jack的權限,(OI)物件繼承,(CI)容器繼承,M修改存取權,/T在目前目錄及其子目錄中的所有指定檔案上執行作業。
完整說明參考https://docs.microsoft.com/zh-tw/windows-server/administration/windows-commands/icacls
設定share folder權限
subinacl /share \\serverName\shareName /grant=everyone=r
2019年5月14日 星期二
TSQL取得SQL SERVER IP
SELECT
CONNECTIONPROPERTY('net_transport') AS net_transport,
CONNECTIONPROPERTY('protocol_type') AS protocol_type,
CONNECTIONPROPERTY('auth_scheme') AS auth_scheme,
CONNECTIONPROPERTY('local_net_address') AS local_net_address,
CONNECTIONPROPERTY('local_tcp_port') AS local_tcp_port,
CONNECTIONPROPERTY('client_net_address') AS client_net_address
CONNECTIONPROPERTY('net_transport') AS net_transport,
CONNECTIONPROPERTY('protocol_type') AS protocol_type,
CONNECTIONPROPERTY('auth_scheme') AS auth_scheme,
CONNECTIONPROPERTY('local_net_address') AS local_net_address,
CONNECTIONPROPERTY('local_tcp_port') AS local_tcp_port,
CONNECTIONPROPERTY('client_net_address') AS client_net_address
2018年5月23日 星期三
OptiPlex 5050 skylake cpu使用USB及UEFI模式安裝Windows7
1.設定BIOS,設定disabled Secure boot,開啟legacy mode.
2.使用refus製作可開機USB,檔案格式為FAT32,模式為GPT,ISO檔須含SP1
3.下載DELL DriversPack for Win7
http://en.community.dell.com/techcenter/enterprise-client/w/wiki/12241.optiplex-5050-windows-7-driver-pack
4.建立目錄D:\Drivers,裡面再建兩個子目錄,mount及USB
5.將下載的DriversPack解壓縮到D:\Drivers\USB目錄
6.從隨身碟裡的source將boot.wim及install.wim複製到D:\Drivers
7.更新boot.wim
dism /mount-wim /wimfile:boot.wim /index:2 /mountdir:mount
dism /image:mount /add-driver:"USB" /recurse
dism /unmount-wim /mountdir:mount /commit
8.確定install.wim索引
dism /Get-WimInfo /WimFile:install.wim
9.更新install.wim
dism /image:mount /add-driver:"USB" /recurse
dism /unmount-wim /mountdir:mount /commit
10.將更新完的boot.wim及install.wim複製回隨身碟的
source目錄即可
參考文章:https://community.spiceworks.com/how_to/125921-how-to-add-drivers-manually-to-usb-drive-to-install-windows-using-a-usb-3-0-port
2.使用refus製作可開機USB,檔案格式為FAT32,模式為GPT,ISO檔須含SP1
3.下載DELL DriversPack for Win7
http://en.community.dell.com/techcenter/enterprise-client/w/wiki/12241.optiplex-5050-windows-7-driver-pack
4.建立目錄D:\Drivers,裡面再建兩個子目錄,mount及USB
5.將下載的DriversPack解壓縮到D:\Drivers\USB目錄
6.從隨身碟裡的source將boot.wim及install.wim複製到D:\Drivers
7.更新boot.wim
dism /mount-wim /wimfile:boot.wim /index:2 /mountdir:mount
dism /image:mount /add-driver:"USB" /recurse
dism /unmount-wim /mountdir:mount /commit
8.確定install.wim索引
dism /Get-WimInfo /WimFile:install.wim
9.更新install.wim
dism /image:mount /add-driver:"USB" /recurse
dism /unmount-wim /mountdir:mount /commit
10.將更新完的boot.wim及install.wim複製回隨身碟的
source目錄即可
參考文章:https://community.spiceworks.com/how_to/125921-how-to-add-drivers-manually-to-usb-drive-to-install-windows-using-a-usb-3-0-port
2018年5月7日 星期一
C#字串插入符號
\'
for a single quote.\"
for a double quote.\\
for a backslash.\0
for a null character.\a
for an alert character.\b
for a backspace.\f
for a form feed.\n
for a new line.\r
for a carriage return.\t
for a horizontal tab.\v
for a vertical tab.\uxxxx
for a unicode character hex value (e.g. \u0020
).\x
is the same as \u
, but you don't need leading zeroes (e.g. \x20
).\Uxxxxxxxx
for a unicode character hex value (longer form needed for generating surrogates).
訂閱:
文章 (Atom)