MSSQL/所有者を確認
2020年07月30日
データベースの所有者を確認するSQL文。
┌──────────────────────────────────────┐
│SELECT [データベースDB].[name] AS [データベース],                           │
│       [プリンシパルDB].[name] AS [所有者]                                  │
│    FROM [sys].[databases] AS [データベースDB]                              │
│        LEFT JOIN [sys].[server_principals] AS [プリンシパルDB]             │
│          ON [データベースDB].[owner_sid] = [プリンシパルDB].[sid]          │
│    ORDER BY [データベースDB].[database_id] ASC;                            │
└──────────────────────────────────────┘
分類:MSSQL
WindowsBAT/現在の年月日時分秒をYYYYMMDDHHMMSS形式に
2020年07月29日
┌──────────────────────────────────────┐
│set YMDHIS=%date:~-10,4%%date:~-5,2%%date:~-2,2%
             %time:~-11,2%%time:~-8,2%%time:~-5,2%                            │
│set YMDHIS=%YMDHIS: =0%                                                     │
└──────────────────────────────────────┘
  ※二行目は一行目に続けて記述

時はゼロパディングされないので、置換処理「: =0」を忘れずに
分類:Windows
MSSQL/ユーザ権限
2020年07月28日
階層関係は以下の通り
DBサーバ→インスタンス→ログイン→ユーザ(→ロール)→データベース

詳細は以下の通り(●■は読取専用ユーザの設定を想定)

ログイン
├○Windows認証
└●SQLServer認証

サーバロール
├□sysadmin           …全部
├□serveradmin        …サーバ
├□securityadmin      …ロール
├□processadmin       …プロセス
├□setupadmin         …リンクサーバ
├□bulkadmin          …BULK INSERT
├□diskadmin          …ディスクファイル
├□dbcreator          …データベース更新
└■public             …

データベース
├□master             …システムデータベース
├□model              …  〃
├□msdb               …  〃
├□tempdb             …  〃
└■(ユーザDB)

固定データベースロール
├□db_owner           …全部
├□db_securityadmin   …ロール
├□db_accessadmin     …アクセス
├□db_backupoperator  …バックアップ
├□db_ddladmin        …定義(CREATE,ALTER)
├□db_datawriter      …更新(INSERT,UPDATE,DELETE)
├■db_datareader      …参照(SELECT)
├■db_denydatawriter  …更新の禁止
├□db_denydatareader  …参照の禁止
└■public
※msdbの場合はさらに以下もある
├□db_ssisadmin
├□db_ssisltduser
├□db_ssisoperator
├□dc_admin
├□dc_operator
├□dc_proxy
├□DatabaseMailUserRole
├□PolicyAdministratorRole
├□ServerGroupAdministratorRole
├□ServerGroupReaderRole
├□SQLAgentOperatorRole
├□SQLAgentReaderRole
├□SQLAgentUserRole
├□TargetServersRole
├□UtilityCMRReader
├□UtilityIMRReader
└□UtilityIMRWriter
分類:MSSQL
WindowsBAT/曜日
2020年07月27日
┬──────────────────────────────────────┬
│ツェラーの公式を用いる方法                                                  │
┴──────────────────────────────────────┴
┌──────────────────────────────────────┐
│@echo off                                                                   │
│set /a yy=%date:~-10,4%                                                     │
│set /a mm=%date:~-5,2%                                                      │
│set /a dd=%date:~-2,2%                                                      │
│                                                                            │
│REM DEBUG set /a yyyy=2020                                                  │
│REM DEBUG set /a mm=7                                                       │
│REM DEBUG set /a dd=21                                                      │
│                                                                            │
│REM ------------------------------------------------------------------------│
│REM   ツェラーの公式                                                        │
│REM ------------------------------------------------------------------------│
│if %mm% LEQ 2 (                                                             │
│    set /a yy-=1                                                            │
│    set /a mm+=12                                                           │
│)                                                                           │
│set /a w1=(yy+(yy/4)-(yy/100)+(yy/400)+((13*mm+8)/5)+dd) %% 7               │
│REM ------------------------------------------------------------------------│
│                                                                            │
│if %w1%==0 (                                                                │
│    set wn=0_Sunday                                                         │
│) else if %w1%==1 (                                                         │
│    set wn=1_Monday                                                         │
│) else if %w1%==2 (                                                         │
│    set wn=2_Tuesday                                                        │
│) else if %w1%==3 (                                                         │
│    set wn=3_Wednesday                                                      │
│) else if %w1%==4 (                                                         │
│    set wn=4_Thursday                                                       │
│) else if %w1%==5 (                                                         │
│    set wn=5_Friday                                                         │
│) else (set wn=6_Saturday)                                                  │
│                                                                            │
│echo %wn%                                                                   │
│pause                                                                       │
│exit                                                                        │
└──────────────────────────────────────┘
┬──────────────────────────────────────┬
│VBScriptを用いる方法                                                        │
┴──────────────────────────────────────┴
┌──────────────────────────────────────┐
│' DEBUG WScript.Quit(WeekDay("2020/07/21"))                                 │
│WScript.Quit(WeekDay(Date))                                                 │
└──────────────────────────────────────┘
上記のVBScriptを「a.vbs」などのファイル名で同一フォルダに保存(作成)
┌──────────────────────────────────────┐
│@echo off                                                                   │
│cscript /b ".\a.vbs"                                                        │
│                                                                            │
│if %errorlevel%==0 (                                                        │
│    set wn=0_Sunday                                                         │
│) else if %errorlevel%==1 (                                                 │
│    set wn=1_Monday                                                         │
│) else if %errorlevel%==2 (                                                 │
│    set wn=2_Tuesday                                                        │
│) else if %errorlevel%==3 (                                                 │
│    set wn=3_Wednesday                                                      │
│) else if %errorlevel%==4 (                                                 │
│    set wn=4_Thursday                                                       │
│) else if %errorlevel%==5 (                                                 │
│    set wn=5_Friday                                                         │
│) else (set wn=6_Saturday)                                                  │
│                                                                            │
│echo %wn%                                                                   │
│pause                                                                       │
│exit                                                                        │
└──────────────────────────────────────┘
┬──────────────────────────────────────┬
│PowerShellを用いる方法                                                      │
┴──────────────────────────────────────┴
┌──────────────────────────────────────┐
│@echo off                                                                   │
│for /F %%v in (                                                             │
│    '"powershell [Int](Get-Date).DayOfWeek"'                                │
│) do set w1=%%v                                                             │
│for /F %%v in (                                                             │
│    '"powershell (Get-Date).DayOfWeek"'                                     │
│) do set w2=%%v                                                             │
│                                                                            │
│REM DEBUG for /F %%v in (                                                   │
│REM DEBUG     '"powershell [Int]([DateTime](\"2020/07/21\")).DayOfWeek"'    │
│REM DEBUG ) do set w1=%%v                                                   │
│REM DEBUG for /F %%v in (                                                   │
│REM DEBUG     '"powershell ([DateTime](\"2020/07/21\")).DayOfWeek"'         │
│REM DEBUG ) do set w2=%%v                                                   │
│                                                                            │
│echo %w1%_%w2%                                                              │
│pause                                                                       │
│exit                                                                        │
└──────────────────────────────────────┘
────────────────────────────────────────
分類:Windows
WindowsBAT/フォルダなき時フォルダを作成
2020年07月26日
┌──────────────────────────────────────┐
│set DIR=D:\work                                                             │
│if not exist %DIR% (mkdir %DIR%)                                            │
└──────────────────────────────────────┘
「D:\work」がなければフォルダ作成
分類:Windows
WindowsBAT/現在位置
2020年07月25日
┌──────────────────────────────────────┐
│set PWD=%~dp0                                                               │
│echo %PWD%                                                                  │
└──────────────────────────────────────┘
最後の「\」付き(例えばCドライブ直下なら「C:\」)
分類:Windows
WindowsBAT/任意の戻り値
2020年07月24日
┌──────────────────────────────────────┐
│exit /B 0                                                                   │
└──────────────────────────────────────┘
「/B」の後に値を指定
分類:Windows
WindowsBAT/エラー分岐と引数指定
2020年07月23日
┌──────────────────────────────────────┐
│@echo off                                                                   │
│if "%1" == "" goto l_catch                                                  │
│                                                                            │
│echo %1                                                                     │
│color 1B                                                                    │
│pause                                                                       │
│exit /B 0                                                                   │
│                                                                            │
│:l_catch                                                                    │
│echo 引数がありません                                                       │
│color 4F                                                                    │
│pause                                                                       │
│exit /B -1                                                                  │
└──────────────────────────────────────┘
分類:Windows
WindowsBAT/処理の雛形
2020年07月22日
┌──────────────────────────────────────┐
│@echo off               REM 必要なものだけ画面表示                          │
│cls                     REM 画面クリア                                      │
│                                                                            │
│rem --------------      REM コメント                                        │
│rem   処理の雛形        REM コメント                                        │
│rem --------------      REM コメント                                        │
│                                                                            │
│set STR=処理の雛形です  REM 値の代入                                        │
│echo %STR%              REM 値の表示                                        │
│                                                                            │
│echo 完了です           REM メッセージの表示                                │
│color 1B                REM 画面を着色                                      │
│pause                   REM 処理を止める                                    │
│exit                    REM 終了                                            │
└──────────────────────────────────────┘
分類:Windows
WindowsBAT/文字列置換
2020年07月21日
┌──────────────────────────────────────┐
│set 変数=%変数:変更前=変更後%                                               │
└──────────────────────────────────────┘
現在日をゼロサプレイスする場合は以下のような感じ。(既にゼロサプレイス済みか?)
┌──────────────────────────────────────┐
│set YMD=%date: =0%                                                          │
└──────────────────────────────────────┘
分類:Windows
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 … 149 次へ