Обновление: Добавленный Файл. Существует проверка на комментарий (2012 19 июня)
Вот - то, что я использовал в VB.NET. По существу то же, как представлено, кроме я обычно не хотел создавать папку сразу.
преимущество для использования GetRandomFilename - то, что оно не создает файл, таким образом, Вы не должны мыться если Ваше использование названия чего-то другого, чем файл. Как использование его для имени папки.
Private Function GetTempFolder() As String
Dim folder As String = Path.Combine(Path.GetTempPath, Path.GetRandomFileName)
Do While Directory.Exists(folder) or File.Exists(folder)
folder = Path.Combine(Path.GetTempPath, Path.GetRandomFileName)
Loop
Return folder
End Function
Случайный Пример Имени файла:
C:\Documents and Settings\username\Local Settings\Temp\u3z5e0co.tvq
Вот изменение с помощью Гуида для получения временного имени папки.
Private Function GetTempFolderGuid() As String
Dim folder As String = Path.Combine(Path.GetTempPath, Guid.NewGuid.ToString)
Do While Directory.Exists(folder) or File.Exists(folder)
folder = Path.Combine(Path.GetTempPath, Guid.NewGuid.ToString)
Loop
Return folder
End Function
гуид Пример:
C:\Documents and Settings\username\Local Settings\Temp\2dbc6db7-2d45-4b75-b27f-0bd492c60496
Вы можете положиться на функцию DB_ID () <= 4
Вам придется очень много работать, чтобы это изменить ...
нет такой опции AFAIK. Я думаю, вы можете проверить идентификатор sys.databases.owner_sid = 0x01.
Я не думаю, что вам нужно беспокоиться о том, что MS изменит имена системных баз данных. если бы они сделали это, вам не пришлось бы беспокоиться об этом как минимум 20 лет :)