PowershellからSQLserver構成2

続きです。
間違いはないはずですがバッチファイルを流すとうまく行きません

powershellにSQLモジュールロードではなく
SQLpowershellを使うとなぜかうまく行きます
スクリプトは全く同じ

これで構成はなんとかクリア
あとはmdfのアタッチ

PowershellからSQLserver構成

SQLserverなどインストした後 構成マネージャーでTCP/IP接続有効とか名前パイプ有効とか設定必要だが
それをpowershellから施行したい

sqlpsというのを読み込んで
getsmoobjectと言うのも使えるようにして・・

調べていろいろやったがなぜか原因不明のエラーを返される

$Tcp=$wmi.GetSmoObject(“ManagedComputer[@Name='”+$Env:computername+”‘]/ ServerInstance[@Name=’インスタンス名’]/ServerProtocol[@Name=’Tcp’]”)
$Tcp.IsEnabled=$true
$Tcp.Alter()

うまくいったのはこんな感じ
違いは変数を省略しただけ
うまくいったけど納得できない

ちなみ名前パイプは
$Np=$wmi.GetSmoObject(“ManagedComputer[@Name='”+$Env:computername+”‘]/ ServerInstance[@Name=’インスタンス名’]/ServerProtocol[@Name=’Np’]”)
$Np.IsEnabled = $true
$Np.Alter()

これでパッケージが完成する、させたい

Nullには要注意 と Alterカラムデータ型


カラム2が数値型の場合
select * from Table where カラム2<>8
ではカラム2がnullを選択しない nullを選びたいときは別に条件を明示の必要ありか


似ているけど
カラム2は文字型
select * from Table where カラム2<>‘8’
では空文字列のカラム2を選択する
空文字列とNullが混在するテーブルがあるときは要注意

mysqlもSQLserverも同じ

あとカラムデータ型変更
SQLserverは
alter Table TableA alter Column ColumnA nvarchar(255) null;
Mysqlは
alter table TableA modify Column ColumnA varchar(255) null;