社内SEの覚え書き

WindowsServer、SQLServerなどなど、MS系技術について。時々日常について

SQLServer ランダムに一意な値を作成する。

SQLServerで、ランダムに一意な値を生成する。戻り値がuniqueidentifier型なので、
intに変換して使う。

convert(int, convert(varbinary(4), newid()))

うーーーん。使う場面はそんなに無いけど、へーと思ったので、メモ

Office365へのPowerShellによる接続

毎度、毎度、認証情報をポチポチ入れるのがあほらしくなったので、

$adminUser1 = "administrator@hogehoge.com"
$adminPass1 = "123"
function o365ps {
$Officepass = ConvertTo-SecureString $adminPass1 -AsPlainText -Force
$Global:Cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $adminUser1,$Officepass
$URL = 'https://ps.outlook.com/powershell/'
$Session1 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $URL -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session1
Import-Module MsOnline
Connect-MsolService -Credential $Cred
}

①↑をprofile.ps1とかにして、C:\Users\ユーザー名\Documents\WindowsPowerShell配下に置く。
PowerShell起動する。
 Set-ExecutionPolicyはやっときましょう
③o365psと入力してEnter

素敵になりました。それにしても、ウチの会社、MS製品ばっかりだなと改めて思う。

@@rowcountの使い方

@@rowcountで処理した件数を取得する。

例えば、

 

INSERT INTO hogehoge VALUES(1,hugahuga)

PRINT @@rowcount

 

とすると、

 

(1 行処理されました)
@@ROWCOUNT=1
 
となる。これを利用して、
 

INSERT INTO #hogehoge VALUES(1,hugahuga)

PRINT @@rowcount

IF @@rowcount > 0

  INSERT ~~

 

なんて使い方もできる。但し、直前のステートメントの結果のみを参照しているのに注意。

 

Hyper-V ゲスト バックアップ

ちょっとの間だけど、監視ソフト入れるまでゲストのバックアップ監視、どうしようか。

 

blog.livedoor.jp

 

無事いけました。ありがとうございます。

 

取り急ぎの監視は十分。

 

Select-String -path こんなの使えるんだ。PowerShell便利だなー。

Get-Content hogehoge.txt | Select-String "hugahuga"

↑こうすると、良い感じに特定の文字列をテキストファイルから持ってこれる。

 

 

SQLServer内のオブジェクト検索

負の遺産の整理。

組織改正で、部署コードをストアドとかでハードコードしてない?という確認。

 

select distinct so.name
from syscomments sc inner join sysobjects so on sc.id = so.id
where sc.text like '%__________%'
                  ↑ここに検索対象文字列を入力

・・・何個もある。えー。

直します。

SQLServer IN句のパラメータに、複数項目を渡したい。

動的SQLでやった。もっとかしこく書けると思ったけど。

安易に走った。

 

 

SET @SQL = 'SELECT '  
SET @SQL = @SQL + 'hogehoge'
SET @SQL = @SQL + 'hugahuga '
SET @SQL = @SQL + 'FROM #office'
SET @SQL = @SQL + 'WHERE office_code in ' + @office_code + ' '
SET @SQL = @SQL + 'order by office_code'

FTPサーバ入替

遅ればせながら、FTPサーバを入れ替える(2003対応)

BASPとか32bit用のdllを使ったvbsを、WOW64で無理やっこ使う。。。

 

次の人、ごめんよ

 

ちなみにこんな感じ

 

C:\Windows\SysWOW64\WScript.exe //nologo hogehoge.vbs