次のようなbatファイルを使用してSQLServer2008R2にデータをインポートしています。
sqlcmd -E -S fooserver -d fooDB -e -i foo.sql -o foo.output
sqlcmd -E -S fooserver -d fooDB -e -i bar.sql -o bar.output
sqlcmd -E -S fooserver -d fooDB -e -i baz.sql -o baz.output
sqlcmd -E -S fooserver -d fooDB -e -i qux.sql -o qux.output
Developer Editionインスタンスを指すと、すべて正常に機能します。ただし、SQL Expressインスタンスをポイントすると、最初の2つほどのコマンドは正常に実行され、次のコマンドは認証エラーで失敗します。
Login failed for user 'MYDOMAIN\FOOUSER'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
ただし、上記のコマンドを一度に1つずつ実行すると、すべてエラーなしで実行されます。
また、対象のデータベースが一時的にリカバリモードになり(SQL Server Management Consoleのデータベースの横に「リカバリ中」と表示されます)、ターゲットDBが一時的にリカバリモードになっているため、ログインに失敗したように見えることも注目に値します。この問題はDeveloperEditionインスタンスでは発生しないことを繰り返します。
SQL Express 2008 R2 RTMおよびSP2(SP1はまだテストされていません)に対して同じ問題が観察されました。