SQLServerの圧縮バックアップ

全然知らなかったけど、SQLServerの圧縮バックアップって2008からできるのね・・・。

でも、Standard ではできないということを知った今日この頃

多分2008以降のバージョンからはどのバージョンでも普通にできるはず

 

オプションに「COMPRESSION」をつけるといいらしい。

 

BACKUP DATABASE データベース名
 TO { DISK | TAPE } = 'パス'
   WITH INIT,COMPRESSION

Windows10でいらないソフトを消す。

#Groove ミュージック、映画、テレビ
Get-AppxPackage *zune* | Remove-AppxPackage

#複合現実ポータル / Mixed Realityポータル (Fall Creators Update以降)
#エラーで消せない
#Get-AppxPackage Microsoft.Windows.HolographicFirstRun | Remove-AppxPackage

#People
#エラーで消せない
#Get-AppxPackage *people* | Remove-AppxPackage

#3DViewer
Get-AppxPackage Microsoft.Microsoft3DViewer | Remove-AppxPackage

#XBOX
#エラーで消せない
#Get-AppxPackage *xbox* | Remove-AppxPackage
Get-AppxPackage Microsoft.XboxApp | Remove-AppxPackage
Get-AppxPackage Microsoft.XboxGameOverlay | Remove-AppxPackage
Get-AppxPackage Microsoft.XboxIdentityProvider | Remove-AppxPackage
Get-AppxPackage Microsoft.XboxSpeechToTextOverlay | Remove-AppxPackage

#アラーム&クロック
Get-AppxPackage *WindowsAlarms* | Remove-AppxPackage

#カメラ
Get-AppxPackage *camera* | Remove-AppxPackage

Get-AppxPackage *communi* | Remove-AppxPackage

#マネー、スポーツ、ニュース、天気
Get-AppxPackage *bing* | Remove-AppxPackage

#ボイスレコーダー
Get-AppxPackage *soundrec* | Remove-AppxPackage

#メッセージング
Get-AppxPackage *messaging* | Remove-AppxPackage

#モバイル コンパニオン
Get-AppxPackage *phone* | Remove-AppxPackage

#有料Wi-Fi & 携帯ネットワーク
Get-AppxPackage Microsoft.OneConnect | Remove-AppxPackage

#ヘルプの表示
Get-AppxPackage Microsoft.GetHelp | Remove-AppxPackage

#マップ
Get-AppxPackage Microsoft.WindowsMaps | Remove-AppxPackage

 

 

--スタートメニューExport
Export-Startlayout -path C:\Windows\Temp\test.xml

 

WSUSメモ

wsus設定とかしてた時のメモ

 

--wsusのiis稼働確認
http://[サーバー名]:8530/ClientWebService/client.asmx

 

--WSUS SUSDBへ接続
\\.\pipe\MICROSOFT##WID\tsql\query

 

--タイムアウトを変更
--初期値は600s
USE SUSDB ;
GO
EXEC sp_configure 'remote query timeout', 0 ;
GO
RECONFIGURE ;
GO

 

--windws2016 Serverにてwsusでレポート表示するには以下が必要
microsoft system clr types sql server 2012
Micorsoft Report Viewer 2012 Runtime

JavaScriptのセッション

JavaScriptでもいつの間にやらセッションが使えるようになってた。

HTML5の機能らしい。

 

IE8~

Fx3.5~

Chrome5~

くらいから使えるらしい

 

使い方はこんな感じ

・値をセット

 window.sessionStorage.setItem(['Key'],['data']);

・値をゲット

 let tmp= window.sessionStorage.getItem(['Key']);

 

保存はテキスト形式でされるみたいでオブジェクトはjson化して保存する

・値をセット

 let jstr = JSON.stringify(ary );
 window.sessionStorage.setItem(['data'],[jstr]);

・値をゲット

 let jstr = window.sessionStorage.getItem(['data']);
 let ary = JSON.parse(jstr);

 

sessionStorageはブラウザを閉じると消える。
また、ウィンドウ間での共有はない。

容量は各ブラウザによって違うらしいので要調査

でも2Mくらいまでの容量なら大体は大丈夫そう。

以下のメソッドが容易されている。
length …… 保存されているデータの数を返す
key(n) …… 保存されているn番目のkeyを返す
getItem(key) …… keyに対応するvalueを取得する
setItem(key, value) …… keyとvalueのペアでデータを保存する
removeItem(key) …… keyに対応するvalueを削除する
clear() …… データをすべてクリアする

 

ByVal・ByRefの基本的なこと

ByVal (値渡し)

・値型の場合は当然元の値に影響しない。

・参照型の場合は、アドレスを渡しているだけなので値は変更する。

 但し、インスタンスの変更は影響しない。

 

ByRef (参照渡し)

・値型の場合も元の値が変更される。

・参照型の場合は、値についてはByValと同じ動きをする。

 インスタンスの再作成も影響する。

 

dim dcTest As Dictionary(Of String,String)

Dim intRet As Integer = Test(dcTest)

 

Public Function Test(ByVal dcTest As Dictionary(Of String,String)) As Integer

    dcTest = New Dictionary(Of String,String)

     dcTest.Add(Key1,Value1)

     dcTest.Add(Key2,Value2)

      Return 0

End Function

 

というPGを書いて、dcTest が常にNothingで返ってくるので少し悩んでこの基礎的なこを思い出しました・・・。

 

基礎って大事なぁーと思った今日この頃。

 

 

複数行をまとめて1行に表示する方法

とりあえずデータを適当に準備

schedule_id    report_id    report_name

1                      001             テスト1
1                      002             テスト2
1                      003             テスト3
2                      001             テスト1
3                      004             テスト4

 

FOR XML PATHを利用して、こんな感じのSQLを作成

 

SELECT schedule_id,
REPLACE((
SELECT report_name AS [data()]
FROM t_report
WHERE A.schedule_id = schedule_id
FOR XML PATH('')
),' ',',')  AS report_name
FROM t_report A
GROUP BY schedule_id

 

注意点として「t_report」にはエイリアスをつけておかないといけない。

WHERE A.schedule_id = schedule_id

WHERE t_report .schedule_id = schedule_id

では思った結果が取れなかった。

 

空白区切りになるのでREPLACEを利用して「,」区切りへ

 

結果はこんな感じ

1    テスト1,テスト2,テスト3
2    テスト1
3    テスト4

 

AS [data()]とすることでXML のエレメントを生成させないようにできる。

 

AS [data()] を AS report_nameとかにしてみると

こんな感じの結果が返ってくる。

1    <report_name>テスト1</report_name><report_name>テスト2</report_name><report_name>テスト3</report_name>
2    <report_name>テスト1</report_name>
3    <report_name>テスト4</report_name>