October 17, 2014 at 4:49 am
I'm trying to improve my SQL Server Instance configuration scripts using SMO.
This includes moving TempDB to a new location, ie. the equivalent of:
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'D:\NewTempDBhome\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'D:\NewTempDBhome\templog.ldf');
GO
However I cannot find a way to do this using SMO (in PowerShell).
I have attempted to use something like the following:
$smo = New-SMOconnection 'Win2012R2_A\SQL2014'
$smo.databases["TempDB"].LogFiles[0].Filename = <New location>
$smo.databases["TempDB"].LogFiles[0].Alter()
But it fails. I expected hoped to find some MoveMyDatabaseFile() method, but apparently non exist.
Any suggestions?
October 17, 2014 at 5:30 am
Hi Jako,
Your third line has a typo - $smo.datases instead of $smo.databases which probably doesn't help.
Try calling the Alter method at the database level rather than the file level:
$smo.databases["TempDB"].Alter()
Remember you'll need to stop & start the SQL service for the change to tempdb to take effect.
Cheers
Gaz
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy