Sto cercando di ottenere il percorso senza il nome file da qualsiasi database. Finora l'ho fatto:Ottieni percorso file fisico di qualsiasi database
declare @db_name varchar (50)
SELECT @db_name = physical_name FROM sys.master_files WHERE database_id = DB_ID(N'master') AND type_desc = 'ROWS'
set @db_name = REVERSE(RIGHT(REVERSE(@db_name),(LEN(@db_name)-CHARINDEX('\', REVERSE(@db_name),1))+1))
print @db_name
Funziona quando controllo i miei database ordinari ma quando li ho provati nel database master. Ottengo questo:
C: \ Programmi \ Microsoft SQL Server \
Tuttavia, il percorso corretto è:
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\
Perché è mancare il resto del percorso ?
Grazie a tutti per qualsiasi aiuto?
si dovrebbe anche essere consapevoli del fatto che una banca dati può essere composto da più file, e ognuno di questi file può essere in una posizione diversa. Quindi potrebbe non avere senso parlare di * path *, al contrario di * un percorso * o * di tutti i percorsi * –